根据数据集中的另一个变量设置背景颜色

问题描述:

我试图显示效果曲线对我的数据,一系列远程跟踪的鸟类一整年的影响。为了做到这一点,我想绘制一年中每一天的纬度,并将春分效果作为背景中的颜色分级。根据位置根据数据集中的另一个变量设置背景颜色

SO <- data.frame(date = seq(as.Date("2000/1/1"), by = "day", length.out = 365), 
       latitude = cumsum(rnorm(365)), 
       eqx.effect = c(rep(0,60),seq(1,20,1), seq(20,1,-1),rep(0,143),seq(1,20,1), seq(20,1,-1),rep(0,82)), 
       location = c(rep(1,100),rep(2,135), rep(3,130)))  

到目前为止,我已经成功地绘制了全年纬度数鸟用不同颜色的线条geom_line和颜色不同的部分:

我的数据会是这个样子他们在哪。为了改变背景,我已经阅读了Using ggplot2 in R, how do I make the background of a graph different colours in different regions?中的geom_rect的使用,但是在那个问题中,男人只需要一堆矩形,我需要365.

有没有人知道有任何其他方式做到这一点?如果我可以在接近分点的日期使默认背景更透明,那也是有用的。

+0

请你补充一点,实际上产生你指的是情节的代码?提出解决方案要简单得多。 – tonytonov 2014-09-29 06:42:22

您没有提供如何理想,这将外观的形象,所以怎么样是这样的:

ggplot(data=SO) + 
    geom_rect(aes(xmin=date,xmax=date+1,ymin=min(latitude),ymax=max(latitude), 
     fill=eqx.effect)) + 
    geom_line(aes(x=date,y=latitude),color="yellow") 

enter image description here