R ggplot更改图例中的颜色和图例序列

时间:2018-08-03 09:45:33

标签: r ggplot2 legend line-plot

本文中的数据:joining all points inside a grouped point plot using ggplot保持不变,我在其中添加了另一列。通过Jimbou提供的解决方案,我编写了以下代码

head(AA)
 States Clusters   value Comp_apply L1_25 L1_30 L1_50     x xbreaks
<chr>  <chr>      <dbl>      <int> <int> <int> <int> <dbl>   <dbl>
1 HR     Cluster-1 0.0703          9     2     4     7    31    32.7
2 HR     Cluster-2 0.0761          4     2     2     3    33    32.7
3 HR     Cluster-3 0.0692          9     7     7     8    34    32.7
4 WB     Cluster-1 0.0372         13     2     2     2   111   113. 
5 WB     Cluster-2 0.0762         13     2     3     6   113   113. 
6 WB     Cluster-3 0.0906         13     3     3     4   114   113. 

现在绘图的代码是

ggplot(data=data.m1)+
 geom_line(aes(x = x, y = Comp_apply, group=States,color="red")
           ,position=position_dodge(width = 0.90))+
  geom_point(aes(x = x, y = Comp_apply, group=States,color="red")
        ,position=position_dodge(width = 0.90))+
  geom_line(aes(x = x, y = L1_25, group=States,color="green")
        ,position=position_dodge(width = 0.90))+
  geom_point(aes(x = x, y = L1_25, group=States,color="green")
         ,position=position_dodge(width = 0.90))

现在情节如下 enter image description here

您能帮我解决这个问题吗

1 个答案:

答案 0 :(得分:1)

如果您想要像为整个geom分配颜色,只需将colour="red"放在aes()之外。但是,由于该颜色未映射到任何因素,因此不会出现在图例中。

执行此操作的正确方法是修改data.frame,以使Comp_applyL1_25表现为两个具有相同因子的模态(即在同一列中)。无法为您完成此操作,因为未提供您的数据。

然后,您只需调用一次geom_pointgeom_line。提供数据,我会更新我的答案。