首页 > 解决方案 > 在箱线图中添加线条,如何知道因子在 x 轴上的位置?

问题描述

我想在箱线图中添加线条,并且我想根据 x、x 和 y、y 控制位置。我以为我可以使用lines函数,也许我可以,但是我怎么知道A,B,C的x位置?

id <- rep(1:5, each=3)
trt <- rep(LETTERS[1:3],5)
set.seed(1)
q1 <- runif(15)
set.seed(2)
q2 <- runif(15)
set.seed(3)
q3 <- runif(15)


df <- data.frame(id,trt,q1,q2,q3)

boxplot(q3~trt, data=df)
lines([c(1,2)],c(0.7,0.7)) # im thinking from x 1 to x 2, on y 0.7

我想让它类似于这样: 在此处输入图像描述

标签: r

解决方案


绘制箱线图时,保存其返回值并使用它来确定因子在 x 轴上的位置。

bp <- boxplot(q3 ~ trt, data = df)

x <- seq_along(bp$names)
y <- c(0.7, 0.7)

lines(x[seq_along(y)], y, lwd = 2) # optional 'lwd', not in the question

在此处输入图像描述


推荐阅读