我有一个data.frame
,其中四个队列C1-C4已经测量了五次M1-M5。如何将颜色和线型映射到ggplot2线图中的若干列
library(ggplot2)
mydf <- data.frame(C1=c(49, 14, 8, 7, 2),
C2=c(0, 0, 0, 0, 0),
C3=c(13, 17, 7, 8, 8),
C4=c(0, 0, 0, 0, 0),
M = c("M1", "M2", "M3", "M4", "M5"))
我想为每个队列绘制一条线来显示测量结果。
ggplot(data=mydf) +
geom_line(aes(x=M, y=C1, group=1), colour="red") +
geom_line(aes(x=M, y=C2, group=2), colour="green") +
geom_line(aes(x=M, y=C3, group=3), colour="blue") +
geom_line(aes(x=M, y=C4, group=4), colour="black", linetype="dashed")
我设法这样做了,通过手动分组行。不过,我对这个传说有麻烦。我想我需要将颜色和线条样式映射到一些分组标准。但我该怎么做?我应该按队列分组,但他们不在一列内。 有没有办法使用这种手动分组或其他方式来构建我的情节的图例? 任何帮助将不胜感激。
可能重复[在同一个图上使用ggplot2绘制两个变量作为行](http://stackoverflow.com/questions/3777174/plotting-two-variables-as-lines-using-ggplot2-on-the-相同图) – Henrik 2014-11-21 19:47:43
您需要将数据“融化”为长格式。在@Henrik链接中查看@ rcs的答案,提供了如何执行此操作以及如何为每个组生成不同颜色的图。一旦你的数据被融化,你只需要一次调用'geom_line'。 – eipi10 2014-11-21 19:55:45