R 如何将次轴设置为ggplot中第一个轴的反方向?
如何将次y轴设置为主y轴的反向 函数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),颜色=“钢蓝”)+
秒轴(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轴完全相同。我已经附上了图表,真奇怪。我没有改变任何东西,只是复制和粘贴你的代码,不知何故它会给出不同的输出。。。