在ggplot2中使用geom_point和geom_line作为多个X.

时间:2014-04-05 19:36:25

标签: r plot ggplot2

所以我有一个data.frame:

Plan  Person X       mm  mean_mm
1  1 95 0.323000 0.400303
1  2 275 0.341818 0.400303
1  3  2 0.618000 0.400303
1  4 75 0.320000 0.400303
1  5 13 0.399000 0.400303
1  6 20 0.400000 0.400303
2  1 219 0.393000 0.353350
2  2 50 0.060000 0.353350
2  3 213 0.390000 0.353350
2  4 204 0.496100 0.353350
2  5 19 0.393000 0.353350
2  6 201 0.388000 0.353350

等计划== 40

我想使用ggplot2绘制点mm(用X着色),但在每个计划中有一个mm_mean的行,从第1个人到第6个人。我用代码绘制mm(按计划排序):

mc.points <- ggplot(sam,aes(x = person,y = mm, colour = X, size = 3)) +
geom_point() +
labs(x = "Plan/Person",y = "mm") +
scale_colour_gradient2(high="red", mid="green", limits=c(0,1), guide = "colourbar") 

哪个成功。但是不确定是否添加geom_line()来绘制mm_mean线就足够了,因为我没有在上面的代码中指定mm_mean(虽然它可以根据y轴给出它的平均值来绘制)。如果是这样,怎么办呢?如果我想继续在此基础上添加与mm或​​mm_mean无关的变量,这是否可行?

如果需要,我可以提供更多信息

2 个答案:

答案 0 :(得分:1)

这样的东西?

ggplot(df, aes(x = Person,y = mm, colour = X)) +
  geom_point(size = 3) +
  geom_hline(aes(yintercept = mean_mm)) +
  facet_wrap(~ Plan)

enter image description here

答案 1 :(得分:1)

更改多面图的布局,

facet_wrap(~Plan,ncol = 4)#或您想要的多列,以便布局看起来很吸引人。