Types de Lignes dans R : Le Guide Ultime pour les Graphiques R de Base et GGPLOT



Types de Lignes dans R : Le Guide Ultime pour les Graphiques R de Base et GGPLOT

Ce tutoriel graphique R décrit comment modifier les types de lignes dans R pour les graphiques créés avec les fonctions de base R ou le package ggplot2.

Dans les fonctions graphiques R de base, les options lty et lwd sont utilisées pour spécifier le type de ligne et l’épaisseur de ligne, respectivement. Dans ggplot2, les paramètres linetype et size sont utilisés pour décider du type et de la taille des lignes, respectivement.

Vous apprendrez à:

  • Afficher facilement la liste des différents types de graphiques linéaires présents dans R.

  • Tracer deux lignes et modifier automatiquement le style de ligne pour les graphes de base et ggplot par groupes.

  • Ajuster l’épaisseur du trait en spécifiant les options lwd (graphique de base) et size (ggplot2).

  • Modifier manuellement l’apparence (type de ligne, couleur et taille) des lignes ggplot en utilisant, respectivement, les fonctions scale_linetype_manual(), scale_color_manual() et scale_size_manual().



Sommaire:

Livre Apparenté

GGPLOT2 - L’Essentiel pour une Visualisation Magnifique des Données dans R

Fonctions R clés

  • plot(x, y, type = "b", lty = 1, lwd = 1, col = "blue") et lines(x, y, lty = 2, lwd = 1) : Fonctions graphiques de base dans R pour créer des line-plots.

  • geom_line(aes(x, y), data = NULL, linetype = "dashed", color = "black", size = 1): Fonction ggplot2 pour créer des line plots.

  • scale_linetype_manual(), scale_color_manual()et scale_size_manual() : fonctions ggplot2 pour définir manuellement le type, la couleur et la taille des lignes.

Afficher les différents types de lignes dans R

La liste des types de lignes disponibles dans R, comprend:

  1. “blank”, 1. “solid”, 2. “dashed”, 3. “dotted”, 4. “dotdash”, 5. “longdash” et 6. “twodash”.

Notez que, pour spécifier les types de lignes, vous pouvez utiliser soit des noms complets, soit des numéros : 0, 1, 2, 3, 4, 5, 6. 0 pour “blank” (blanc), 1 pour “solid” (solide), 2 pour “dashed” (en pointillés), etc

Le graphique ci-dessous illustre la liste des types de lignes disponibles dans R:

library(ggpubr)
show_line_types()

Dans les sections suivantes, nous illustrerons la modification du type de ligne en utilisant l’exemple des “line plots” créés avec geom_line(). Cependant, notez que l’option linetype peut également être appliquée à d’autres fonctions ggplot, telles que : geom_smooth, geom_density, geom_sgment, geom_hline, geom_vline, geom_abline et plus.

Modifier le type de trait du graphique basique de R

Format simple de la fonction R lines():

  • plot(x, y, type = "l", lty = 1). Créer le cadre principal du graphique basique de R.
  • lines(x, y, type = "l", lty = 1). Ajouter des lignes sur le graphique.

Options clés:

  • x, y : variables à utiliser pour les axes x et y, respectivement.
  • type: afficher les données sous forme de ligne et/ou de point. Valeurs possibles : “l” (affiche les lignes seulement), “p” (montre les points seulement) et “b” (both en anglais, montrer les deux).
  • pch et cex : change la forme et la taille des points, respectivement.
  • lty, lwd : modifier le type et l’épaisseur de ligne.
  • col: changer la couleur du point et de la ligne.
  • xlab et `ylab’ : pour les étiquettes des axes x et y, respectivement.

Créez un graphique avec plusieurs lignes et définissez la légende lty. Nous commençons par tracer une première ligne simple avec un type de ligne solide (lty = 1). Ensuite, nous ajoutons une deuxième ligne avec un style de ligne en pointillés (lty = 2). Enfin, nous ajoutons une légende sur le graphique en utilisant la fonction de base R legend(), qui prend les mêmes arguments col et lty que la fonction lines(). L’option cex est utilisée pour définir la taille du texte de la légende.

# 1. Créer quelques variables
x <- 1:10
y1 <- x*x
y2  <- 2*y1

# 2. Tracer une première ligne
plot(x, y1, type = "b", frame = FALSE, pch = 19,
     col = "red", xlab = "x", ylab = "y", 
     lty = 1, lwd = 1)

# 3. Ajouter une deuxième ligne
lines(x, y2, pch = 18, col = "blue", type = "b", 
      lty = 2, lwd = 1)

# 4. Ajouter une légende au graphique et définir la légende de `lty`
legend("topleft", legend = c("Line 1", "Line 2"),
       col = c("red", "blue"), lty = 1:2, cex = 0.8)

Modifier les types de lignes d’un ggplot

Ensemble de données: ToothGrowth

ToothGrowth$dose <- as.factor(ToothGrowth$dose)
head(ToothGrowth, 3)
##    len supp dose
## 1  4.2   VC  0.5
## 2 11.5   VC  0.5
## 3  7.3   VC  0.5
  1. Diagramme linéaire de base montrant la valeur moyenne de la longueur des dents (len) en fonction de la dose de vitamine C (dose):
  • Calculer la moyenne de la longueur des dents groupées par dose:
library(dplyr)
df <- ToothGrowth %>%
  group_by(dose) %>%
  summarise(len.mean = mean(len))
df
## # A tibble: 3 x 2
##   dose  len.mean
##   <fct>    <dbl>
## 1 0.5       10.6
## 2 1         19.7
## 3 2         26.1
  • Créer un line plot unique. Changer l’option de type de ligne en pointillé (“dashed”).
library(ggplot2)
ggplot(data = df, aes(x = dose, y = len.mean, group = 1)) +
  geom_line(linetype = "dashed")+
  geom_point()

  1. Créez un line plot pour plusieurs groupes. Modifier les types de lignes par groupes.
  • Data:
# Calculez la moyenne de  `len` groupé par `dose` et `supp`
library(dplyr)
df2 <- ToothGrowth %>%
  group_by(dose, supp) %>%
  summarise(len.mean = mean(len))
df2
## # A tibble: 6 x 3
## # Groups:   dose [3]
##   dose  supp  len.mean
##   <fct> <fct>    <dbl>
## 1 0.5   OJ       13.2 
## 2 0.5   VC        7.98
## 3 1     OJ       22.7 
## 4 1     VC       16.8 
## 5 2     OJ       26.1 
## 6 2     VC       26.1
  • Line plot:
# Modifier les types de lignes par groupes
ggplot(df2, aes(x = dose, y = len.mean, group = supp)) +
  geom_line(aes(linetype = supp))+
  geom_point()+
  theme(legend.position = "top")

# Modifier les types de lignes + couleurs par groupes 
ggplot(df2, aes(x = dose, y = len.mean, group = supp)) +
  geom_line(aes(linetype = supp, color = supp))+
  geom_point(aes(color = supp))+
  theme(legend.position = "top")

  1. Modifier manuellement l’apparence des types de lignes:
  • scale_linetype_manual() : modifier les types de lignes
  • scale_color_manual() : changer la couleur des lignes
  • scale_size_manual() : changer la taille des lignes

Pour pouvoir appliquer ces fonctions, vous devez créer une geom_line, dont les types de lignes, la couleur et la taille doivent être contrôlés par groupes.

# Modifier manuellement le type et la couleur de la ligne
ggplot(df2, aes(x = dose, y = len.mean, group = supp)) +
  geom_line(aes(linetype = supp, color = supp))+
  geom_point(aes(color = supp))+
  scale_linetype_manual(values=c("solid", "dashed"))+
  scale_color_manual(values=c("#00AFBB","#FC4E07"))

Conclusion

  • Utilisez les options lty et lwd pour changer le type et l’épaisseur des lignes dans les graphiques de base R:
x <- 1:10; y1 <- x*x; y2  <- 2*y1
# Tracez deux lignes
plot(x, y1, type = "b", pch = 19, col = "red", lty = 1, lwd = 1)
lines(x, y2, pch = 18, col = "blue", type = "b", lty = 2, lwd = 1)
# Ajouter une légende
legend("topleft", legend = c("Line 1", "Line 2"),
       col = c("red", "blue"), lty = 1:2)
  • Utilisez les arguments linetype et size dans ggplot2 :
# Créer des données
x <- 1:10; y1 <- x*x; y2  <- 2*y1
df <- data.frame(
  x = c(x, x), y = c(y1, y2),
  grp = as.factor(rep(c("A", "B"), each = 10))
  )
# Plot
library(ggplot2)
ggplot(data = df, aes(x, y, group = grp)) +
  geom_line(aes(linetype = grp))+
  geom_point()



Version: English





No Comments

Give a comment

Want to post an issue with R? If yes, please make sure you have read this: How to Include Reproducible R Script Examples in Datanovia Comments