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) etsize
(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 RFonctions R clés
-
plot(x, y, type = "b", lty = 1, lwd = 1, col = "blue")
etlines(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()
etscale_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:
- “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
etcex
: 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
- 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()
- 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")
- 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