【问题标题】:How do I add vertical colored ribbons to a chart with xts?如何将垂直色带添加到带有 xts 的图表中?
【发布时间】:2014-05-04 01:09:56
【问题描述】:
我有一个来自相当长的每日时间序列的xts 对象。我绘制了一个折线图。
现在我想添加垂直色带,也许是为了直观地检测一些季节性。
如何以特定颜色为一年中的每个季度着色? (例如,所有 Q1 = 蓝色,Q2 = 绿色,Q3 = 橙色,Q4 = 紫红色)
下面的图表与我所追求的非常相似,但在这种情况下,1 年超过 2 年是灰色的。
【问题讨论】:
标签:
r
charts
plot
time-series
xts
【解决方案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()