Display the result of a linear model and its confidence interval on top of a scatterplot.
Adding a linear trend to a scatterplot helps the reader in seeing
patterns. ggplot2
provides the geom_smooth()
function that allows to add the linear trend and the confidence interval
around it if needed (option se=TRUE
).
Note: the method
argument allows to apply
different smoothing method like glm, loess and more. See the doc
for more.
# Libraries
library(ggplot2)
library(hrbrthemes)
# Creation of dataset
set.seed(123)
data <- data.frame(
cond = rep(c("condition_1", "condition_2"), each=10),
my_x = 1:100 + rnorm(100,sd=9),
my_y = 1:100 + rnorm(100,sd=16)
)
# Basic scatter plot
ggplot(data, aes(x=my_x, y=my_y)) +
geom_point( color="#69b3a2") +
theme_ipsum()
# With linear trend
ggplot(data, aes(x=my_x, y=my_y)) +
geom_point() +
geom_smooth(method=lm , color="red", se=FALSE) +
theme_ipsum()
# Linear trend + confidence interval
ggplot(data, aes(x=my_x, y=my_y)) +
geom_point() +
geom_smooth(method=lm , color="red", fill="#69b3a2", se=TRUE) +
theme_ipsum()
This document is a work of the statistics team in the Biostatistics and Medical Information Department at Saint-Louis Hospital in Paris (SBIM).
Developed and updated by Noémie Bigot and Anouk Walter-Petrich
noemie.bigot@aphp.fr; anouk.walter-petrich@u-paris.fr
Based on The R Graph Gallery by Yan Holtz.