需要在ggplot2中构建手动渐变图例

时间:2015-12-07 02:22:53

标签: r ggplot2

我正在尝试在ggplot2中手动构建渐变图例。我有一个基础层,可以映射天和攻击之间的关系。然后,我从与天气条件相对应的各种不同数据帧中添加点。

以下是情节的代码:

ggplot(year_2001_2003, aes(wkd_ind, assaults)) + geom_line( ) +
    geom_point(data=top_wmaxc, size = 4, aes(color="yellow")) +
    geom_point(data=top_wmaxb, size = 4, aes(color="orange")) + 
    geom_point(data=top_wmaxa, size = 4, aes(color="red")) +

    geom_point(data=top_wminc, size = 4, aes(color="darkblue")) +
    geom_point(data=top_wminb, size = 4, aes(color="blue")) + 
    geom_point(data=top_wmina, size = 4, aes(color="lightblue")) +

    facet_grid(.~year, scale="free")  

我现在想构建一个图例,它通过我的颜色选择作为渐变从黄色移动 - >浅蓝。

我以为我可以这样做:

scale_color_gradientn(name="Temperature", 
                      colours = c("yellow", "orange", "red", "darkblue", "blue", "lightblue"),
                      values=c(1.0,0.8,0.6,0.4,0.2,0))

但我收到错误: Error: Discrete value supplied to continuous scale

1)有关如何解决此问题的任何想法? 2)没有颜色与我选择的指定颜色相对应。 " lightblue",例如,看起来像绿色。

回应评论 - 这是df的负责人 enter image description here

所有构造如top_wmaxc的数据帧只是各种变量的前90个百分点:

top_wmaxc <- year_2001_2003[year_2001_2003$w_maxc > quantile(year_2001_2003$w_maxc, 0.90), ]
  top_wmaxc <- year_2001_2003[year_2001_2003$w_maxc > quantile(year_2001_2003$w_maxc, 0.90), ]
  top_wmaxb <- year_2001_2003[year_2001_2003$w_maxb > quantile(year_2001_2003$w_maxb, 0.90), ]
  top_wmaxa <- year_2001_2003[year_2001_2003$w_maxa > quantile(year_2001_2003$w_maxa, 0.90), ]

  top_wminc <- year_2001_2003[year_2001_2003$w_minc > quantile(year_2001_2003$w_minc, 0.90), ]
  top_wminb <- year_2001_2003[year_2001_2003$w_minb > quantile(year_2001_2003$w_minb, 0.90), ]
  top_wmina <- year_2001_2003[year_2001_2003$w_mina > quantile(year_2001_2003$w_mina, 0.90), ]

0 个答案:

没有答案