2

我无法使用 xtsExtra 调整多个时间序列图的颜色。

这是一个最小示例的代码:

require("xtsExtra")

n <- 50
data <- replicate(2, rnorm(n))

my.ts <- as.xts(ts(data, start=Sys.Date()-n, end=Sys.Date()))

plot.zoo(my.ts, col = c('blue', 'green')) 
plot.xts(my.ts, col = c('blue', 'green'))

plot.zoo 命令产生

在此处输入图像描述,

而 xtsExtra 包中的 plot 命令导致

在此处输入图像描述.

在第二个图中,两个时间序列很好地重叠,但似乎对 col 选项不敏感。

我正在使用 xtsExtra 软件包的最新版本 0.0-1(修订版 862)。

据我了解,xts 和 xtsExtra 包被设计为 zoo 的扩展,并且应该使用相同的参数(加上许多其他参数)。即使我可以使用屏幕选项在 plot.zoo 中获得相同的覆盖行为,但我不能真正求助于使用它,因为导致我的问题的对 plot.xts 的调用在 quantstrat 包中(函数 chart.forward.training 和 chart .forward.testing 例如)我不愿意修改。(顺便说一句,这些函数中的 dev.new() 也给我带来了麻烦。)

问题:为什么 xtsExtra 包中的 plot 似乎没有响应 col= 选项,如果修改对函数的调用不是一个真正的选项,可以做些什么?

4

1 回答 1

3

Q1。如果您花时间阅读 的帮助文本plot.xts,您会发现该函数没有col参数。连同在函数中似乎不允许参数名称的部分匹配这一事实,它解释了为什么plot.xts它不响应col =

与部分匹配有效的情况进行比较
plot(x = 1:2, y = 1:2, type = "b")plot(x = 1:2, y = 1:2, ty = "b"); “ty”匹配“类型”。
请参见此处:“如果提供的参数的名称与形式参数的第一部分完全匹配,那么这两个参数被认为是匹配的”。

Q2。相反,您可以使用colorset参数:“要使用的调色板,默认设置为理性选择”(colorset = 1:12)。

plot.xts(my.ts, colorset = c('blue', 'green'))

在此处输入图像描述

于 2014-12-21T11:40:22.237 回答