在条形图中减少 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