如何添加ggplot2指南?

时间:2014-06-27 20:29:10

标签: r ggplot2

我有这段代码:

ggplot() + 
  stat_smooth(data=fd.area.dfa.quant,aes(x=area,y=q50),alpha=0.6,colour="Red")+
  stat_smooth(data=fd.area.dfb.quant,aes(x=area,y=q50),alpha=0.6,colour="Green")+
  stat_smooth(data=fd.area.cfa.quant,aes(x=area,y=q50),alpha=0.6,colour="Purple")+
  stat_smooth(data=fd.area.csb.quant,aes(x=area,y=q50),alpha=0.6,colour="Blue")+
  stat_smooth(data=fd.area.bsk.quant,aes(x=area,y=q50),alpha=0.6,colour="Orange")+
  scale_x_log10("xlab",expand = c(0, 0),labels=comma)+
  scale_y_log10("ylab", expand = c(0, 0.05),labels=comma)+
  theme(aspect.ratio=1)+
  ggtitle("title")+
  ggsave("save2.png")

这是图enter image description here

我想

  1. 为五行添加一个名称(例如:DFA,DFB,CFA,CSB,BSK)
  2. 之后,我想在show_guide中显示相应颜色的名称。
  3. P.S。所有线条都有各种尺寸,因此我避免融化。

    我该怎么做?

1 个答案:

答案 0 :(得分:5)

由于您没有共享任何样本数据以使您的代码成为minimal, reproducible example,因此我将使用自己的代码,您可能会对其进行调整

d1<-data.frame(x=1:10, y=cumsum(runif(10)))
d2<-data.frame(x=1:10, y=cumsum(runif(10)))

ggplot() + 
  stat_smooth(data=d1,aes(x,y,colour="mya"),alpha=0.6)+
  stat_smooth(data=d2,aes(x,y,colour="myb"),alpha=0.6)+
  scale_color_manual(name="Line",values=c(mya="red",myb="green"))

为了使其工作,我们在aes()调用中设置颜色并为其指定唯一(非颜色)名称。然后,我们手动添加色标并为我们设置的每个aes颜色值定义颜色值。这将正确地为这些值创建图例。

enter image description here