Cet article décrit comment changer facilement les étiquettes des facettes d’un ggplot.
Sommaire:
Livre Apparenté
GGPLOT2 - L’Essentiel pour une Visualisation Magnifique des Données dans RPrérequis
Charger les packages requis et définir la fonction thème theme_light()
[ggplot2] comme thème par défaut:
library(ggplot2)
theme_set(
theme_light() + theme(legend.position = "top")
)
GGPlot basique avec facette
Créer un box plot rempli par groupes:
# Charger les données et convertir `dose` en une variable de type facteur
data("ToothGrowth")
ToothGrowth$dose <- as.factor(ToothGrowth$dose)
# Box plot, facette en fonction des variables `dose` et `supp`
p <- ggplot(ToothGrowth, aes(x = dose, y = len)) +
geom_boxplot(aes(fill = supp), position = position_dodge(0.9)) +
scale_fill_viridis_d()
p + facet_grid(dose ~ supp)
Modifier le texte des étiquettes des facettes
Les étiquettes des facettes peuvent être modifiées à l’aide de l’option labeller
, qui doit être une fonction.
- Dans le code R suivant, les facettes sont étiquetées en combinant le nom de la variable de groupement avec les niveaux de groupe. La fonction
label_both
est utilisée.
p + facet_grid(dose ~ supp, labeller = label_both)
- Une façon simple de modifier le texte d’une étiquette de facette est de fournir de nouvelles étiquettes sous forme de vecteur de caractère nommé:
# Nouveaux noms d'étiquettes des facettes pour la variable `dose`
dose.labs <- c("D0.5", "D1", "D2")
names(dose.labs) <- c("0.5", "1", "2")
# Nouveaux noms d'étiquettes des facettes pour la variable `supp`
supp.labs <- c("Orange Juice", "Vitamin C")
names(supp.labs) <- c("OJ", "VC")
# Créer le graphique
p + facet_grid(
dose ~ supp,
labeller = labeller(dose = dose.labs, supp = supp.labs)
)
- Une solution alternative pour changer les étiquettes des facettes est de modifier les données:
df <- ToothGrowth
# Modifier les données
df$dose <- factor(df$dose, levels = c("0.5", "1", "2"),
labels = c("D0.5", "D1", "D2"))
df$supp <- factor(df$supp, levels = c("OJ", "VC"),
labels = c("Orange Juice", "Vitamin C")
)
# Créer le graphique
ggplot(df, aes(x = dose, y = len)) +
geom_boxplot(aes(fill = supp)) +
facet_grid(dose ~ supp)
Personnaliser l’apparence des étiquettes des facettes
# Changer la police du texte des facettes. Valeurs possibles pour le style de police:
#'plain', 'italic', 'bold', 'bold.italic'.
p + facet_grid(dose ~ supp)+
theme(
strip.text.x = element_text(
size = 12, color = "red", face = "bold.italic"
),
strip.text.y = element_text(
size = 12, color = "red", face = "bold.italic"
)
)
Changer la couleur de fond de la facette
Le rectangle autour des étiquettes à facettes peut être modifié à l’aide de la fonction element_rect()
.
p + facet_grid(dose ~ supp)+
theme(
strip.background = element_rect(
color="black", fill="#FC4E07", size=1.5, linetype="solid"
)
)
Version: English
No Comments