在ggplots中添加两条线性回归线和两条y轴

时间:2018-07-29 04:40:53

标签: r ggplot2

我想用两个y轴绘制一个图,并向每组添加两条线性回归线。我已经在该网站上看到了一些方法,对我来说很容易获得两个y轴。但是我不能控制线性回归线。 我想这样绘制的情节:

enter image description here

我的数据如下:

   ggplot(plotdata) + geom_point(aes(x,z),colour="green") + 
   geom_smooth(aes(x,y), method=lm, se=FALSE,colour="green") + 
   geom_point(aes(x,y*100), colour="red") + 
   geom_smooth(aes(x,y*100), method=lm, se=FALSE,colour="red") +  
   scale_y_continuous(sec.axis = sec_axis(~ . * 0.01))

我使用上层代码进行了绘制,但始终得到以下结果:

enter image description here

sec.axis方法似乎无法控制第二条回归线。

有人可以给我一些提醒吗? 谢谢。

1 个答案:

答案 0 :(得分:1)

这个问题似乎重复了。 link

library(ggplot2)
z=200*(y=1:10)
x=2.7*y

factor<-50

p1<-ggplot(plotdata) + geom_point(aes(x,y*factor), colour="red") +
  geom_smooth(aes(x,y*factor), method=lm, se=FALSE,colour="red") 

p1+geom_point(aes(x,z),colour="green") +  labs(y="z")+
  geom_smooth(aes(x,z), method=lm, se=FALSE,colour="green")+     scale_y_continuous(sec.axis = sec_axis(~ . / 50))

enter image description here