Add Regression Line ggplot for Only Certain Groups
12,380
One solution would be to put subset()
of your data inside geom_smooth()
and give value for which you need to plot trendline.
As example used data mtcars
(as sample data were not provided). With subset()
cyl
values of 4 or 6 are selected. Insede geom_smooth()
also aes()
should be repeated.
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)
Author by
user2170248
Updated on June 05, 2022Comments
-
user2170248 almost 2 years
I want to add trendlines to my ggplot, but only for the significant relations. Now
geom_smooth
orstat_smooth
adds trendlines for each group, but I want to specify which groups get a trendline and which don't.Below an example of my script:
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)