在ggplot中绘制两组多条垂直线

得分324

我想使用以下函数在ggplot中绘制两组,例如a1, a2b1, b2的垂直线r

myline = data.frame(vv = c(a1 = 25, a2 = 28, b1 = 52, b2 = 53))


set.seed(100)
d = data.frame(y = c(rnorm(100,5,1), rnorm(100, 2,4)), x = 1:200)
ggplot(data = d) + geom_line(aes(x, y), color = "steelblue") + 
  geom_vline(data = myline, aes(xintercept=as.numeric(vv)), col= 'red', size = 0.8)

我正在尝试以不同的颜色分隔ab组。我怎样才能做到这一点?非常感谢您的建议。

瑞·巴拉达斯(Rui Barradas)

要使用不同颜色的垂直线,请vv用作的颜色geom_vline然后使用设置选择的颜色scale_color_manual
还要注意的是,as.numeric(vv)没有必要为xintercept美学设置值时str(myline)将显示vv已经是数字。

ggplot(data = d, aes(x, y)) + 
  geom_line(color = "steelblue") + 
  geom_vline(data = myline, 
             aes(xintercept = vv, color = factor(vv)),
             size = 0.4) +
  scale_color_manual(values = c("coral", "coral4", "orange", "orange4"))

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章