我正在努力完成R中的整个绘图。我希望彼此之间有2张图表并单独格式化。此外,我想为每个人添加移动平均线。我怎样才能做到这一点?我已经设法将它们拉到彼此之下,但我仍在努力应对移动平均线。 作为可重现代码的一个例子,我使用了SPY和Apple数据。
getSymbols("SPY")
getSymbols("AAPL")
par(mfrow=2:1)
plot(SPY, main="SPY")
plot(AAPL,main="AAPL")
我如何单独格式化它们?并且不要在两个图表上显示网格线?
答案 0 :(得分:3)
以下是使用rollmean
库中的zoo
的解决方案:
library(quantmod)
getSymbols("SPY")
getSymbols("AAPL")
par(mfrow=2:1)
plot(SPY[, "SPY.Open"], main="SPY", auto.grid=F)
lines(rollmean(SPY, k=30, fill=NA)[, "SPY.Open"], col="red")
plot(AAPL[, "AAPL.Open"], main="AAPL", auto.grid=F)
lines(rollmean(AAPL, k=30, fill=NA)[, "AAPL.Open"], col="red")
绘制开盘价以及30日移动平均线。您可以更改k
以调整窗口,rollmean
也可以选择对齐窗口的方式。默认情况下,它居中。
要删除网格线,添加auto.grid=F
似乎可以解决问题,来自?plot.xts
。
您还可以通过将系列转换为纯数字向量来强制它:
spy.open <- as.vector(SPY[, "SPY.Open"])
plot(spy.open, type="l")