如何使用xts将垂直彩色色带添加到图表中?

时间:2014-03-25 22:07:27

标签: r charts plot time-series xts

我在很长的每日时间序列中都有一个xts对象。我绘制了折线图。

现在我想添加垂直彩色丝带,可能会在视觉上检测出一些季节性。

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

下面是一张与我之前非常相似的图表,但是在这种情况下,2岁以上的1年颜色为灰色。

chart

1 个答案:

答案 0 :(得分: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