R - 带自由刻度的双 y 轴 - GGPLOT

问题描述

这是问题,我想在图右侧绘制第二个 y 轴(我使用 tidyverse、GGPLOT 包),但据我所知,sec.axis 只允许您对第一轴(例如:第一轴 * 19/4)。 我不想要的。

我想表达两个具有不同度量单位(比例)的变量,我希望第一个变量的单位为左侧 y 轴,第二个变量的单位为右侧 y 轴(使用适当的尺度)。本质上,我想使用 scale="free" 但对于两个 y 轴。

有什么想法吗? 提前致谢。

抱歉,这是一个非常简单的代码来说明这一点。

library(tidyverse)
Year <- c(2010:2014)

OilPrice <- c(60:64)
GasPrice <- c(6789,6802,6580,6890,7020)
DATASET <- data.frame(Year,OilPrice,GasPrice) %>% as_tibble(DATASET) %>%
  gather(key = "Prices",value = "value",-Year)
ggplot(DATASET,aes(Year,value,color=Prices)) + geom_point() + geom_line(aes(group=Prices)) +
  labs(
    title = "Prices evolution over time",y="Prices") + theme(legend.position = "bottom") 

如您所见,单位非常不同。我不想应用算术变换,而是希望 Y 轴上的石油价格从 60 到 64 不等,而右侧 Y 轴上的天然气价格从 6500 到 7200 不等。我该怎么做?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...