ggplot2 - ajouter une ligne droite à un graphe : Ligne horizontale, verticale et droite de régression
Ce tutoriel d?crit comment ajouter une ligne droite ou un trait sur un graphique g?n?r? avec le le logiciel R et le package ggplot2.
Les fonctions R ci-dessous peuvent ?tre utilis?es :
- geom_hline() pour une ligne horizontale
- geom_abline() pour une droite de r?gression
- geom_vline() pour une ligne verticale
- geom_segment() pour ajouter un segment
geom_hline : Ajouter une ligne horizontale
Un format simplifi? de la fonction geom_hline() est :
geom_hline(yintercept, linetype, color, size)
Elle dessine un trait horizontal sur le graphique, en cours, au point d?ordonn?e ?y? :
library(ggplot2)
# Nuage de points simple
sp <- ggplot(data=mtcars, aes(x=wt, y=mpg)) + geom_point()
# Ajouter une ligne horizontale au point y = 2O
sp + geom_hline(yintercept=20)
# Changer le type de trait ainsi que la couleur
sp + geom_hline(yintercept=20, linetype="dashed", color = "red")
# Changer l'?paisseur du trait
sp + geom_hline(yintercept=20, linetype="dashed",
color = "red", size=2)
Lire plus sur les types de traits : Types de traits dans R
geom_vline : Ajouter une ligne verticale
Un format simplifi? de la fonction geom_vline() est :
geom_vline(xintercept, linetype, color, size)
Elle dessine une ligne verticale sur le graphique, en cours, au point d? abscisse ?x? :
library(ggplot2)
# Ajouter un trait vertical au point x = 3
sp + geom_vline(xintercept = 3)
# Changer le type de trait, la couleur et l'?paisseur
sp + geom_vline(xintercept = 3, linetype="dotted",
color = "blue", size=1.5)
geom_abline: Ajouter une droite de r?gression
Un format simplifi? de la fonction geom_abline() est :
geom_abline(intercept, slope, linetype, color, size)
La fonction lm() est utilis?e pour estimer la droite de r?gression :
# Estimer la regression lin?aire
require(stats)
reg<-lm(mpg ~ wt, data = mtcars)
reg
##
## Call:
## lm(formula = mpg ~ wt, data = mtcars)
##
## Coefficients:
## (Intercept) wt
## 37.285 -5.344
coeff=coefficients(reg)
# Equation de la droite de regression :
eq = paste0("y = ", round(coeff[2],1), "*x + ", round(coeff[1],1))
# Graphe
sp + geom_abline(intercept = 37, slope = -5)+
ggtitle(eq)
# Changer le type de trait, la couleur et l'?paisseur
sp + geom_abline(intercept = 37, slope = -5, color="red",
linetype="dashed", size=1.5)+
ggtitle(eq)
Notez que, la fonction stat_smooth() peut ?tre utilis?e pour estimer simplement la droite de r?gression.
sp + stat_smooth(method="lm", se=FALSE)
geom_segment : Ajouter un segment
Un format simplifi? de la fonction geom_segment() est :
geom_segment(aes(x, y, xend, yend))
On peut l?utiliser comme suit :
# Ajouter un segment vertical
sp + geom_segment(aes(x = 4, y = 15, xend = 4, yend = 27))
# Ajouter un segment horizontal
sp + geom_segment(aes(x = 2, y = 15, xend = 3, yend = 15))
Notez que, vous pouvez ajouter une fl?che ? la fin du segment. Le package grid est n?cessaire
library(grid)
sp + geom_segment(aes(x = 5, y = 30, xend = 3.5, yend = 25),
arrow = arrow(length = unit(0.5, "cm")))
Infos
Cette analyse a ?t? r?alis?e avec le logiciel R (ver. 3.1.2) et le package ggplot2 (ver. 1.0.0)
Show me some love with the like buttons below... Thank you and please don't forget to share and comment below!!
Montrez-moi un peu d'amour avec les like ci-dessous ... Merci et n'oubliez pas, s'il vous plaît, de partager et de commenter ci-dessous!
Recommended for You!
Click to follow us on Facebook:
Comment this article by clicking on "Discussion" button (top-right position of this page)