R:删除图例标题并在混合类型图中使用自定义颜色

时间:2014-10-03 03:37:25

标签: r colors plot ggplot2 legend

我正在尝试生成一个具有散点图类型点且在该散点图顶部绘制曲线的图。我正在尝试生成一个仅将绘制曲线标记为“Power Curve”的图例。没有传奇标题,我无法做到这一点。我还希望能够设置点和曲线的颜色。我已经尝试了下面的代码摆脱标题没有任何运气。我希望这是有道理的,对R来说很新。抱歉,如果格式也不正确。

p1 <- ggplot() + 
  geom_point(data=wind.supply, aes(x=avgWindSpeed, y= kwh), shape=1, color="dodgerblue2", size=1)+
  geom_line(data=powercurve, aes(x=windspeed_mps, y= ten.min.kwh, color="Power Curve"))+
  labs(x="Average Wind Speed",y="Energy Supplied (kWh)") +
  coord_cartesian(xlim = c(0, 20))

p1 + theme(legend.position = c(0.85,0.2), legend.title=NULL)

以上代码生成的图表如果有帮助:http://i.stack.imgur.com/ZRiX7.jpg

这是wind.supply。

    datetime        avgWindSpeed  kwh
1 2013-01-01 00:10:00     12.0    550
2 2013-01-01 00:20:00     11.6    550
3 2013-01-01 00:30:00     11.8    549
4 2013-01-01 00:40:00     11.2    551
5 2013-01-01 00:50:00     11.1    550
6 2013-01-01 01:00:00     12.0    550
7 2013-01-01 01:10:00     11.3    550
8 2013-01-01 01:20:00     11.9    550
9 2013-01-01 01:30:00     11.2    550

这是power.curve

windspeed_mps   power_kW    ten.min.kwh
85  3.755136    21.7000     25.316667
86  3.799840    23.2500     27.125000
87  3.844544    24.8000     28.933333
88  3.889248    26.3500     30.741667
89  3.933952    27.9000     32.550000

1 个答案:

答案 0 :(得分:0)

您可以使用

  1. labs(colour=NULL)这将删除颜色的图例标题
  2. theme(legend.title = element_blank())
  3. labs会为您提供更多控制权,因为您指定了不具有图例标题的美学,而theme(legend.title = ...)则指示所有图例的行为


    p1 + theme(legend.position = c(0.85,0.2), legend.title=element_blank())
    # or perhaps better
    p1 + theme(legend.position = c(0.85,0.2)) + labs(colour=NULL)