在条形图中减少 names.arg 和轴(框)之间的 space
Reduce space between names.arg and axis (box) in barplot
我创建了一个简单的 barplot
,周围环绕着一个方框。有什么方法可以让我的名字更靠近方框(space 标记为蓝色)?
MWE:
set.seed(1)
count <- runif(n = 3, min = 0, max = 10)
names <- letters[seq(from = 1, to = 3)]
barplot(height = count,
names.arg = names,
horiz = TRUE,
las = 1)
box()
这里有两种方法可以做到这一点。您可以使用 rect
而不是 box
将框边界向左移动:
barplot(height=count, names.arg=names, horiz=TRUE, las=1)
bounds <- par("usr")
rect(bounds[1]-.1, bounds[3], bounds[2], bounds[4], xpd=NA)
或者您可以单独添加 y 轴,这样您就可以控制标签的绘制位置:
x <- barplot(height=count, horiz=TRUE, las=1)
box()
axis(2, x, names, las=1, tick=FALSE, mgp=c(2, .35, 0))
调整 mgp
中的中间值以定位标签(参见 ?par
)
我创建了一个简单的 barplot
,周围环绕着一个方框。有什么方法可以让我的名字更靠近方框(space 标记为蓝色)?
MWE:
set.seed(1)
count <- runif(n = 3, min = 0, max = 10)
names <- letters[seq(from = 1, to = 3)]
barplot(height = count,
names.arg = names,
horiz = TRUE,
las = 1)
box()
这里有两种方法可以做到这一点。您可以使用 rect
而不是 box
将框边界向左移动:
barplot(height=count, names.arg=names, horiz=TRUE, las=1)
bounds <- par("usr")
rect(bounds[1]-.1, bounds[3], bounds[2], bounds[4], xpd=NA)
或者您可以单独添加 y 轴,这样您就可以控制标签的绘制位置:
x <- barplot(height=count, horiz=TRUE, las=1)
box()
axis(2, x, names, las=1, tick=FALSE, mgp=c(2, .35, 0))
调整 mgp
中的中间值以定位标签(参见 ?par
)