突出显示时间序列中的绘图区域
Highlight plot area in time series
我绘制了我的 xts 时间序列如下:
library(xts)
data(sample_matrix)
prices <- as.xts(sample_matrix)[,"Close"]
pw_returns <- diff(log(prices))
plot(pw_returns, main="", col="darkblue", lwd=1)
我想突出显示波动率集群,如下图所示:
有人知道如何在 R 中做到这一点吗?
您可以使用 addPolygon()
执行此操作。这将有助于创建一个包含阴影区域上下边界的中间对象。
nr <- nrow(pw_returns)
shade <- cbind(upper = rep(1, nr), lower = rep(-1, nr))
shade <- xts(shade, index(pw_returns))
现在我们可以为我们想要的任何时期绘制和添加阴影区域。确保设置 on = -1
以绘制阴影区域 在 主图之后。
# main plot
plot(pw_returns, main = "", col = "darkblue", lwd = 1)
# add shaded region to February, 2007
addPolygon(shade["2007-02"], col = "lightpink", on = -1)
我绘制了我的 xts 时间序列如下:
library(xts)
data(sample_matrix)
prices <- as.xts(sample_matrix)[,"Close"]
pw_returns <- diff(log(prices))
plot(pw_returns, main="", col="darkblue", lwd=1)
我想突出显示波动率集群,如下图所示:
有人知道如何在 R 中做到这一点吗?
您可以使用 addPolygon()
执行此操作。这将有助于创建一个包含阴影区域上下边界的中间对象。
nr <- nrow(pw_returns)
shade <- cbind(upper = rep(1, nr), lower = rep(-1, nr))
shade <- xts(shade, index(pw_returns))
现在我们可以为我们想要的任何时期绘制和添加阴影区域。确保设置 on = -1
以绘制阴影区域 在 主图之后。
# main plot
plot(pw_returns, main = "", col = "darkblue", lwd = 1)
# add shaded region to February, 2007
addPolygon(shade["2007-02"], col = "lightpink", on = -1)