仅为某些组添加回归线ggplot

时间:2013-03-14 14:44:18

标签: r ggplot2 trendline

我想在我的ggplot中添加趋势线,但仅限于重要的关系。 现在geom_smoothstat_smooth为每个组添加了趋势线,但我想指定哪些组获得趋势线,哪些不获取。

下面是我的脚本示例:

plot20<-ggplot(data, aes(x=data$Density, y=data$Total.degrees, color=Species, shape=Species)) 
+ geom_point(size=3) 
+ scale_shape_manual(values=shapeset) 
+ scale_colour_manual(values=colorset) 
+ theme(legend.position="none") 
+ geom_smooth(method=lm, se=FALSE) 

1 个答案:

答案 0 :(得分:11)

一种解决方案是将subset()数据放在geom_smooth()中,并为您提供绘制趋势线所需的值。

作为示例使用数据mtcars(未提供样本数据)。选择subset() cyl值为4或6时。还应重复Insede geom_smooth() aes()

ggplot(mtcars,aes(wt,mpg,color=factor(cyl)))+geom_point()+
    geom_smooth(data=subset(mtcars,cyl==4 | cyl==6),
               aes(wt,mpg,color=factor(cyl)),method=lm,se=FALSE)

enter image description here