r - 在 R 中使用两个 Y 轴绘制问题
问题描述
我正在运行以下数据来创建布林带:
library(quantmod)
symbol = "AAPL"
stock_data = getSymbols(symbol,
from = "2019-01-01",
auto.assign = FALSE)
prices = Cl(stock_data)
names(prices) = "price"
prices$avg = rollmeanr(prices$price, k=20)
prices$sd = rollapplyr(prices$price, width = 20, FUN=sd)
prices$sd2up = prices$avg + 2*prices$sd
prices$sd2down = prices$avg - 2*prices$sd
prices$delta_price = prices$price - shift(prices$price, n=1, fill= NA , type="lag")
我想绘制价格、平均值、sd2up 和 sd2down(它们都在同一个 y 轴上),然后在同一个图表中包含价格变化及其对应的 y 轴(价格在右边,变化在左侧)。我尝试了以下操作:
plot(prices["2020", c("price","avg","sd2up","sd2down")])
par(new=TRUE)
plot(prices["2020", "slope"])
我有 0 次合并图表的经验,我知道语法很可能不适合做这样的事情。情节很完美,但每个情节都是分开的。是因为我如何定义 x 和 y 数据吗?我真的很感激这方面的任何帮助。