2014-03-25 88 views
-1

我有一个xts对象来自相当长的日常时间系列。我绘制了一个折线图。如何使用xts将垂直色带添加到图表中?

现在我想添加垂直色带,也许可以直观地检测到一些季节性。

如何以特定颜色为每年的每个季度添加颜色? (例如,所有的Q1 =蓝色,Q2 =绿色,Q3 =橙色,Q4 =淡红色)

下面的图表与我之后的图表非常相似,但在这种情况下,1年的2年以上灰色。

chart

+1

提供样品的数据和代码。 –

回答

1

没有太多的信息去,这里是用基础R和mtcars数据集的临时版本。

您可以使用rect函数绘制交替的彩色矩形。诀窍是使矩形比y值的范围稍长一些,然后再用box在最后得到干净的线条。这里使用的颜色取自循环值(加上4)。

玩这个代码真的是最好的方式来看看它是如何工作的。

> data(mtcars) 
> plot(mtcars$mpg, type = 'n') 
> sapply(seq(0, 30, 10), function(x) rect(x, 0, x+5, 35, col = x+4)) 
> lines(mtcars$mpg) 
> box() 

enter image description here

相关问题