225 votes

Changer la taille du titre et des étiquettes des axes dans ggplot2

J'ai une question très simple, à laquelle j'ai du mal à trouver une réponse. J'espère que quelqu'un ici pourra m'aider.

Un exemple de dataframe est présenté ci-dessous :

a <- c(1:10)
b <- c(10:1)
df <- data.frame(a,b)
library(ggplot2)
g = ggplot(data=df) + geom_point(aes(x=a, y=b)) +
  xlab("x axis")
g

Je veux juste apprendre comment modifier la taille du texte des titres des axes et des étiquettes des axes.

422voto

Didzis Elferts Points 29673

Vous pouvez modifier le texte de l'axe et la taille de l'étiquette avec les arguments suivants axis.text= y axis.title= en fonction theme() . Si vous avez besoin, par exemple, de modifier uniquement la taille du titre de l'axe des x, utilisez alors axis.title.x= .

g+theme(axis.text=element_text(size=12),
        axis.title=element_text(size=14,face="bold"))

Il existe de bons exemples de la mise en place de différents theme() paramètres dans Page ggplot2 .

72voto

chunjiw Points 863

Je pense qu'une meilleure façon de procéder est de modifier le fichier base_size argument. Il augmentera la taille du texte de manière cohérente.

g + theme_grey(base_size = 22)

Comme vu aquí .

39voto

Rtist Points 391

Si vous créez de nombreux graphiques, vous pourriez être fatigué de taper pour chaque graphique les lignes de code contrôlant la taille des titres et des textes. Ce que je fais généralement, c'est de créer un objet (de classe "theme" "gg") qui définit les caractéristiques du thème souhaité. Vous pouvez faire cela au début de votre code.

My_Theme = theme(
  axis.title.x = element_text(size = 16),
  axis.text.x = element_text(size = 14),
  axis.title.y = element_text(size = 16))

Ensuite, il vous suffira d'ajouter Mon_thème à vos graphiques.

g + My_Theme

si vous avez un autre graphique, g1, écrivez simplement :

g1 + My_Theme 

et ainsi de suite.

10voto

InterestedInR Points 86

Pour modifier la taille de (presque) tous les éléments de texte, au même endroit et de manière synchrone, rel() est assez efficace :
g+theme(text = element_text(size=rel(3.5))

Il se peut que vous souhaitiez modifier un peu ce chiffre pour obtenir un résultat optimal. Elle définit les étiquettes et les titres des axes horizontal et vertical, ainsi que d'autres éléments de texte, à la même échelle. Une exception : les titres des grilles à facettes, qui doivent être réglés manuellement sur la même valeur, par exemple si les facettes x et y sont utilisées dans un graphique :
theme(text = element_text(size=rel(3.5)), strip.text.x = element_text(size=rel(3.5)), strip.text.y = element_text(size=rel(3.5)))

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X