R 使用2个y轴不同比例打印2个xts对象

R 使用2个y轴不同比例打印2个xts对象,r,ggplot2,xts,R,Ggplot2,Xts,在同一图表中绘制两个不同的变量时出现问题。我想绘制COT余额和USD/BRL的价格变量(数据是xts对象) 尺度是不同的。价格变量不适合第二个刻度,我不知道为什么。有人能帮我吗? 我使用的代码是: ggplot(data = COT_USD_BRL, aes(x = index(COT_USD_BRL), y = COT_USD_BRL$COT.Balance)) + geom_line(inherit.aes = TRUE) + scale_y_continuous(name =

在同一图表中绘制两个不同的变量时出现问题。我想绘制COT余额和USD/BRL的价格变量(数据是xts对象)

尺度是不同的。价格变量不适合第二个刻度,我不知道为什么。有人能帮我吗? 我使用的代码是:

  ggplot(data = COT_USD_BRL, aes(x = index(COT_USD_BRL), y = COT_USD_BRL$COT.Balance)) +
  geom_line(inherit.aes = TRUE) +
  scale_y_continuous(name = "USD_BRL", sec.axis = sec_axis(~. /(100)+3.2)) +
  geom_line(aes(x = index(COT_USD_BRL), y = COT_USD_BRL$Price), color = "red") +
  scale_x_date(date_breaks = "6 months", date_labels = "%b-%Y") + theme_linedraw()
这是情节:


如果我遗漏了一些有用的信息,请告诉我。

这是因为
秒轴
仅创建轴标签,而不是用作打印数据的参考轴。因此,第二组数据是基于左y轴进行打印的。您需要对第二个y轴值
Price
应用比例因子,以便与左y轴和
USD\BRL
的值相匹配

如果没有数据集的可复制示例(请参见此处:),则很难确定正确的比例因子,但也许您应该从以下内容开始:

库(ggplot2)
ggplot(数据=COT_USD_BRL,aes(x=指数(COT_USD_BRL),y=COT_USD_BRL$COT.余额))+
geom_行(inherit.aes=TRUE)+
连续缩放(name=“USD\u BRL”,秒轴=秒轴(~./10,name=“Price”)+
几何线(aes(x=指数(COT\U USD\U BRL),y=COT\U USD\U BRL$价格*10),color=“红色”)+
缩放x日期(日期间隔=“6个月”,日期标签=“%b-%Y”)+主题线绘制()

希望它能帮助您找到问题的解决方案。

谢谢,老兄。您解决了我的问题。现在我知道如何重新缩放情节,这将对我有很大帮助。很高兴我能帮助您;)
  ggplot(data = COT_USD_BRL, aes(x = index(COT_USD_BRL), y = COT_USD_BRL$COT.Balance)) +
  geom_line(inherit.aes = TRUE) +
  scale_y_continuous(name = "USD_BRL", sec.axis = sec_axis(~. /(100)+3.2)) +
  geom_line(aes(x = index(COT_USD_BRL), y = COT_USD_BRL$Price), color = "red") +
  scale_x_date(date_breaks = "6 months", date_labels = "%b-%Y") + theme_linedraw()