首页 > 解决方案 > 以给定角度旋转 R 中箱线图的 x 轴标签

问题描述

我用下面的代码生成一个箱线图:

boxplot(top10threads$affect ~ top10threads$ThreadID[], data = top10threads, xlab = "10 biggest Threads", ylab = "Affect", col=(c("gold","darkgreen")), srt=45)

但是您可能会注意到 x 轴上的一些标签丢失了,所以我想将它们旋转 45 度。我添加了srt=45,但它不起作用。

通过设置las=2可以垂直旋转它们,但这并不完全是我需要的。

我怎么能那样做?谢谢。

在此处输入图像描述

标签: rboxplot

解决方案


首先,将 的输出存储boxplot()为对象。它包含组的名称。您可以使用$names它们来获取它们。然后用于text()添加轴的标签。该论点srt适用于text()

tmp <- boxplot(y ~ x, data = df, col = c("gold","darkgreen"), xaxt = "n")
tick <- seq_along(tmp$names)
axis(1, at = tick, labels = F)
text(tick, par("usr")[3] - 0.3, tmp$names, srt = 45, xpd = T)


数据

df <- data.frame(x = sample(100:110, 100, T), y = rnorm(100))

推荐阅读