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)

Ajouter une ligne droite à un graphique - logiciel R et visualisation de donnéesAjouter une ligne droite à un graphique - logiciel R et visualisation de donnéesAjouter une ligne droite à un graphique - logiciel R et visualisation de données

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)

Ajouter une ligne droite à un graphique - logiciel R et visualisation de donnéesAjouter une ligne droite à un graphique - logiciel R et visualisation de données

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)

Ajouter une ligne droite à un graphique - logiciel R et visualisation de donnéesAjouter une ligne droite à un graphique - logiciel R et visualisation de données

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)

Ajouter une ligne droite à un graphique - logiciel R et visualisation de données

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))

Ajouter une ligne droite à un graphique - logiciel R et visualisation de donnéesAjouter une ligne droite à un graphique - logiciel R et visualisation de données

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")))

Ajouter une ligne droite à un graphique - logiciel R et visualisation de données

Infos

Cette analyse a été réalisée avec le logiciel R (ver. 3.1.2) et le package ggplot2 (ver. 1.0.0)


Enjoyed this article? I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Twitter, Facebook or Linked In.

Show me some love with the like buttons below... Thank you and please don't forget to share and comment below!!
Avez vous aimé cet article? Je vous serais très reconnaissant si vous aidiez à sa diffusion en l'envoyant par courriel à un ami ou en le partageant sur Twitter, Facebook ou Linked In.

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!






Cette page a été vue 13376 fois