我在很长的每日时间序列中都有一个xts
对象。我绘制了折线图。
现在我想添加垂直彩色丝带,可能会在视觉上检测出一些季节性。
如何以特定颜色为每年的每个季度着色? (例如,所有Q1 =蓝色,Q2 =绿色,Q3 =橙色,Q4 =紫红色)
下面是一张与我之前非常相似的图表,但是在这种情况下,2岁以上的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()