Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何将次轴设置为ggplot中第一个轴的反方向?_R_Ggplot2 - Fatal编程技术网

R 如何将次轴设置为ggplot中第一个轴的反方向?

R 如何将次轴设置为ggplot中第一个轴的反方向?,r,ggplot2,R,Ggplot2,如何将次y轴设置为主y轴的反向 函数秒轴(trans=)不知何故无法识别负乘数 我将公式设置为~.-1和~.*(2-4),结果是将其视为~.和~.-2,就像它忽略了负数一样。输出图见结果1和2 ggplot(d1_数据[(d1_数据$fc_日期>“2016-10-01”),]+ geom_线(aes(x=fc_日期,y=故障),颜色=“橙色”)+ geom_abline(斜率=0,截距=分位数(y_检验,0.975))+ geom_线(aes(x=fc_日期,y=-pred),颜色=“钢蓝”)+

如何将次y轴设置为主y轴的反向

函数
秒轴(trans=)
不知何故无法识别负乘数

我将公式设置为
~.-1
~.*(2-4)
,结果是将其视为
~.
~.-2
,就像它忽略了负数一样。输出图见结果1和2

ggplot(d1_数据[(d1_数据$fc_日期>“2016-10-01”),]+
geom_线(aes(x=fc_日期,y=故障),颜色=“橙色”)+
geom_abline(斜率=0,截距=分位数(y_检验,0.975))+
geom_线(aes(x=fc_日期,y=-pred),颜色=“钢蓝”)+
geom_abline(斜率=0,截距=-分位数(pred,0.975))+
连续刻度(断开=c(0,5,10,15),
秒轴=秒轴(~.-1,断点=c(0,5,10,15)))

ggplot(d1_数据[(d1_数据$fc_日期>“2016-10-01”),]+
geom_线(aes(x=fc_日期,y=故障),颜色=“橙色”)+
geom_abline(斜率=0,截距=分位数(y_检验,0.975))+
geom_线(aes(x=fc_日期,y=-pred),颜色=“钢蓝”)+
geom_abline(斜率=0,截距=-分位数(pred,0.975))+
连续刻度(断开=c(0,5,10,15),
秒轴=秒轴(~.*(2-4),断点=c(0,5,10,15)))

所需的结果将是次轴作为翻转的主轴


修正意见1:

当将打断设置为c(0,-5,-10,-15)时,它仍然提供相同的轴(作为主轴)。红色标记是期望的结果。


供参考:


蓝色和橙色数据实际上都是正值,但它们重叠太多,因此我将其中一个(第4行)反转为负值(不是),以便比较峰值。

尝试以下方法:

ggplot(mtcars) + 
  geom_line(aes(x=mpg, y = disp),  color = "orange" ) +
  geom_line(aes(x = mpg, y = -disp), color = "steelblue") +
  scale_y_continuous(breaks = c(0,250, 500), 
      sec.axis = sec_axis(~.*-1, name = "wt", breaks = c(0,250, 500)))
请注意:
sec.axis=sec_轴(~*-1,name=“wt”,breaks=c(0250500))
需要与行一致:
geom_线(aes(x=mpg,y=-disp),color=“steelblue”)
。它应该是主y轴的线性变换


这原来是一个旧版本的问题

将ggplot2从v3.1.0更新到v3.2.0解决了问题


感谢@Zhiqiang。

我猜它已经起作用了,但您使用的中断是积极的。你有没有尝试过breaks=c(0,-5,-10,-15),尽管如此,结果是一个有两个相同y轴的图,正如你在我这边所说的那样。请显示您的数据和代码。正如我所说,两个y轴完全相同。我已经附上了图表,真奇怪。我没有改变任何东西,只是复制和粘贴你的代码,不知何故它会给出不同的输出。。。