ggplot2在绘制列子集中的两行时添加自定义图例

时间:2015-12-06 04:42:55

标签: r ggplot2 subset legend

我已经遍布堆栈和其他网站来修复我的代码,但无法查看错误。我试图在ggplot上的同一图表上绘制2条线,它们是2个不同列的一部分。例如,我有一个长度为8的列,其中前四行是M(男性),后四行是F(女性)。我有两列数据和一列条件(因子)。

ModelMF <- data.frame(ProbGender, ProbCond, ProbMF, Act_pct)

其中:

 ProbGender   ProbCond   ProbMF   Act_pct
 M            0           .75     .71
 M            10          .67     .69
 M            20          .61     .54
 M            30          .81     .77
 F            0           .88     .82
 F            10          .73     .71
 F            20          .67     .71
 F            30          .60     .63

我尝试过以下操作,但我一直遇到错误(见下文):

ggplot(data = ModelMF, aes(x = ProbCond)) + geom_line(data =   
ModelMF[ModelMF$ProbGender=="M",], aes(y=ProbMF), color = 'col1') + 
geom_point(data = ModelMF[ModelMF$ProbGender=="M",], aes(y = ProbMF)) +
geom_line(data = ModelMF[ModelMF$ProbGender=="M",], aes(y=Act_pct), color =
'col2') + geom_point(data = ModelMF[ModelMF$ProbGender=="M",], aes(y =
Act_pct)) + scale_color_manual(values = c('col1' = 'darkblue', 'col2' ='lightblue'))      

我希望能够创建一个自定义图例,让我可以使用scale_color_manual尝试绘制颜色,但是我收到以下错误:

Error in grDevices::col2rgb(colour, TRUE) : invalid color name 'col1'

我不确定是否是因为我在df中对数据进行了子集化或者其他我错过了什么?此外,如果我添加女性线,我认为我可以简单地遵循相同的程序?

提前致谢。

0 个答案:

没有答案