ggplot2 graduation des axes : Guide pour personnaliser les ?tiquettes des graduations - Logiciel R et visualisation de donn?es
Le but de cet tutoriel est de d?crire comment personnaliser les ?tiquettes des graduations des axes avec le logiciel R et le package ggplot2.
Pr?parer les donn?es
Le jeu de donn?es ToothGrowth est utilis? dans les exemples suivants :
# Convertir la colonne dose en facteur
ToothGrowth$dose <- as.factor(ToothGrowth$dose)
head(ToothGrowth)
## len supp dose
## 1 4.2 VC 0.5
## 2 11.5 VC 0.5
## 3 7.3 VC 0.5
## 4 5.8 VC 0.5
## 5 6.4 VC 0.5
## 6 10.0 VC 0.5
Assurez-vous que la variable dose soit convertie en facteur en utilisant le script de R ci-dessus.
Exemple de graphiques
library(ggplot2)
p <- ggplot(ToothGrowth, aes(x=dose, y=len)) + geom_boxplot()
p
Changer l?apparence des ?tiquettes de graduations des axes
La couleur, la taille de la police et le style de police des ?tiquettes des graduations peuvent ?tre chang?s en utilisant les fonctions theme() et element_text() comme suit:
# Etiquettes de graduations de l'axe x
p + theme(axis.text.x= element_text(family, face, colour, size))
# Etiquettes de graduations de l'axe y
p + theme(axis.text.y = element_text(family, face, colour, size))
Les arguments ci-dessous peuvent ?tre utilis?s pour la fonction element_text() pour modifier l?apparence du texte:
- family : famille de police
- face : type de police. Valeurs possibles ?plain?, ?italic?, ?bold? et ?bold.italic?
- colour : couleur du texte
- size : taille du texte en pts
- angle: angle (entre [0, 360])
- color : alias pour colour
# Changer l'apparence et l'angle d'orientation des ?tiquettes
p + theme(axis.text.x = element_text(face="bold", color="#993333",
size=14, angle=45),
axis.text.y = element_text(face="bold", color="#993333",
size=14, angle=45))
Supprimer les ?tiquettes des graduations des axes x et y
Il est possible de masquer les graduations des axes et les ?tiquettes des graduations en utilisant la fonction element_blank() comme suit :
# Supprimer les ?tiquettes des graduations des axes x et y
p + theme(
axis.text.x = element_blank(),
axis.text.y = element_blank())
# Supprimer ? la fois les graduations et les ?tiquettes
p + theme(
axis.text.x = element_blank(),
axis.text.y = element_blank(),
axis.ticks = element_blank())
Changer le trait des axes
Le type de traits des axes peut ?tre chang? en utilisant la fonction element_line() comme suit:
p + theme(axis.line = element_line(colour, size, linetype,
lineend, color))
Les arguments de la fonction element_line() sont:
- colour, color : couleur des traits
- size : ?paisseur des traits
- linetype : Type de traits. Le type de traits peut ?tre sp?cifi? en utilisant soit du texte (?blank?, ?solid?, ?dashed?, ?dotted?, ?dotdash?, ?longdash?, ?twodash?) ou un nombre (0, 1, 2, 3, 4, 5, 6). Notez que linetype = ?solid? est identique ? linetype=1. Les types de traits disponibles dans R sont d?crits ici: Types de traits dans R
- lineend : terminaison du trait. Les valeurs possibles sont: ?round?, ?butt? ou ?square?
# Changer le type et la couleur du trait des axes
p + theme( axis.line = element_line(colour = "darkblue",
size = 1, linetype = "solid"))
Modifier les graduations des axes discrets et continus
Les axes x ou y peuvent ?tre discrets ou continus. Dans chacune des configurations, les fonctions ? utiliser, pour modifier les gradutions des axes, sont diff?rentes.
Personnaliser un axe discret
Les fonctions scale_x_discrete() et scale_y_discrete() sont utilis?es pour personnaliser les axes x et y discrets, respectivement.
Il est possible d?utiliser ces fonctions pour changer les param?tres, des axes x ou y, suivants:
- titres des axes
- limites des axes (?chelle des axes)
- la position des ?tiquettes des graduations
- changement manuel des ?tiquettes des graduations
Les formats simplifi?s de scale_x_discrete() et scale_y_discrete() sont:
scale_x_discrete(name, breaks, labels, limits)
scale_y_discrete(name, breaks, labels, limits)
- name : Titre de l?axe des x ou y
- breaks : contr?le la position des graduations (graduations des axes et grilles). Parmi les valeurs possibles, il y a:
- NULL : Supprime toutes les graduations
- waiver() : Valeur par d?faut des graduations
- un vecteur de type ?character? ou ?numeric? sp?cifiant les graduations ? montrer
- labels : ?tiquettes des graduations des axes. Valeurs possibles:
- NULL: pas d??tiquettes
- waiver(): ?tiquettes par d?faut
- character vector: un vecteur de caract?re ? utiliser comme ?tiquettes
- limits : Un vecteur de caract?res sp?cifiant l??tiquette des graduations
Notez que, dans tous les exemples ci-dessous, nous allons utiliser seulement les fonctions scale_x_discrete() et xlim() pour personnaliser les ?tiquettes des graduations des axes x. Les m?mes types d?exemples peuvent ?tre appliqu?s ? un axe y de type discret en utilisant les fonctions scale_y_discrete() et ylim().
Changer l?ordre des groupes
L?argument limits est utilis? pour changer l?ordre des ?l?ments:
# Graphique par d?faut
p
# Changer l'ordre des groupes
# Changer le titre de l'axe des x
p + scale_x_discrete(name ="Dose (mg)",
limits=c("2","1","0.5"))
Changer les ?tiquettes des graduations
Les ?tiquettes de graduations peuvent ?tre chang?es comme suit:
# Solution 1
p + scale_x_discrete(breaks=c("0.5","1","2"),
labels=c("Dose 0.5", "Dose 1", "Dose 2"))
# Solution 2 : m?me graphique que la solution 1
p + scale_x_discrete(labels=c("0.5" = "Dose 0.5", "1" = "Dose 1",
"2" = "Dose 2"))
Choisir les groupes ? afficher
Le code R ci-dessous montre les box plots pour le premier ?l?ment (dose = 0.5) et le dernier ?l?ment (dose = 2) :
# Solution 1
p + scale_x_discrete(limits=c("0.5", "2"))
# Solution 2 : m?me graphique que la solution 1
p + xlim("0.5", "2")
Personnaliser un axe continu
Les fonctions scale_x_continuous() et scale_y_continuous() sont utilis?es pour personnaliser les axes x et y continus, respectivement.
Il est possible d?utiliser ces fonctions pour changer les param?tres, des axes x ou y, suivants:
- titres des axes
- limites des axes (changer le minimum et le maximum)
- la position des ?tiquettes des graduations
- changement manuel des ?tiquettes des graduations
Les formats simplifi?s de scale_x_continuous() et scale_y_continuous() sont:
scale_x_continuous(name, breaks, labels, limits, trans)
scale_y_continuous(name, breaks, labels, limits, trans)
- name : Titre de l?axe des x ou y
- breaks : contr?le la position des graduations (graduations des axes et grilles). Parmi les valeurs possibles, il y a:
- NULL : Supprime toutes les graduations
- waiver() : Valeur par d?faut des graduations
- un vecteur de type character pou numeric sp?cifiant les graduations ? montrer
- labels : ?tiquettes des graduations des axes. Valeurs possibles:
- NULL: pas d??tiquettes
- waiver(): ?tiquettes par d?faut
- character vector: un vecteur de caract?re ? utiliser comme ?tiquettes
- limits : Un vecteur de caract?res sp?cifiant les limites des axes x et y (min, max)
- trans: transformations des axes. Valeurs possibles: ?log2?, ?log10?, ?sqrt?, etc
Ces fonctions peuvent ?tre utilis?es comme suit:
# Nuage de points
sp<-ggplot(cars, aes(x = speed, y = dist)) + geom_point()
sp
# Changer le titre des axes x et y ainsi que les limits
sp + scale_x_continuous(name="Speed of cars", limits=c(0, 30)) +
scale_y_continuous(name="Stopping distance", limits=c(0, 150))
Changer la position des ?tiquettes des graduations
Le code R ci-dessous modifie la position des ?tiquettes de graduations sur l?axe des y du box plot. La fonction scale_y_continuous() et l?argument breaks sont utilis?s:
# Changer les ?tiquettes des graduations (axe y)
# Graduation de 5 en 5
p + scale_y_continuous(breaks=seq(0,40,5))
# Graduations al?atoires
p + scale_y_continuous(breaks=c(5,7.5, 20, 25))
# Suppression des graduations + grilles
p + scale_y_continuous(breaks=NULL)
Formater le texte des ?tiquettes de graduations
Les ?tiquettes de graduations peuvent ?tre format?es en pourcentages, dollars, notation scientifiques, etc? Le package scales est n?cessaire.
library(scales)
# Formatage en pourcentage
p + scale_y_continuous(labels = percent)
# Formatage en notation scientifique
p + scale_y_continuous(labels = scientific)
Pour plus d?exemples sur le formatage des ?tiquettes des graduations, lire la documentation sur le package scales : ?scales::trans_new
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!