为 hist() 创建自定义 x 轴标签

Create custom x-axis labels for hist()

我正在使用下面的代码创建直方图。我试过使用坐标轴代码替换 x 轴值,但除了我的 x 轴最终没有标签之外什么也没发生。有人有解决办法吗?

 par(mfrow=c(3,1))
 for (i in c(10,20,30)) {
   a <- rnorm(50, 90, i)
   hist(a, breaks=10, main = i, xaxt="n")
   axis(1,at=seq(-2,2,by=1/3), labels =seq(-2,2,by=1/3))
   abline(v=i * seq(-2, 2, by = 1/3) + 90, col = rainbow(length(seq(-2,2,by=1/3))))
  }

您可能想要 seq在中断范围内使用自定义序列的长度。您可以利用 hist.

的隐形 return
set.seed(42)
op <- par(mfrow=c(3, 1))
for (i in c(10, 20, 30)) {
  a <- rnorm(50, 90, i)
  h <- hist(a, breaks=10, main=i, xaxt="n")
  sq <- round(seq(-2, 2, by=1/3), 2)
  ats <- do.call(seq, c(as.list(range(h$breaks)), length.out=length(sq)))
  axis(1, at=ats, labels=sq)
  abline(v=i * sq + 90, col=rainbow(length(sq)))
}
par(op)

给予