Salut ce code simple (et tous mes scripts de ce matin) a commencé à me donner un titre décentré dans ggplot2
Ubuntu version: 16.04
R studio version: Version 0.99.896
R version: 3.3.2
GGPLOT2 version: 2.2.0
J'ai fraîchement installé ce qui précède ce matin pour essayer de résoudre ce problème ....
dat <- data.frame(
time = factor(c("Lunch","Dinner"), levels=c("Lunch","Dinner")),
total_bill = c(14.89, 17.23)
)
# Add title, narrower bars, fill color, and change axis labels
ggplot(data=dat, aes(x=time, y=total_bill, fill=time)) +
geom_bar(colour="black", fill="#DD8888", width=.8, stat="identity") +
guides(fill=FALSE) +
xlab("Time of day") + ylab("Total bill") +
ggtitle("Average bill for 2 people")
... + theme(plot.title = element_text(hjust = 0.5))
Réponses:
D'après les nouvelles de sortie de
ggplot 2.2.0
: "Le titre de l'intrigue principale est maintenant aligné à gauche pour mieux travailler mieux avec un sous-titre" . Voir aussi l'plot.title
argument dans?theme
: "aligné à gauche par défaut".Comme indiqué par @J_F, vous pouvez ajouter
theme(plot.title = element_text(hjust = 0.5))
pour centrer le titre.la source
... theme(plot.title = element_text(hjust = 'center'))
j'obtiens les messages d'avertissement d'erreur:1: In unit(rep(xp, n), "npc") : NAs introduced by coercionv2: In validDetails.text(x) : NAs introduced by coercion
et pas de titre. Est-ce un bug?hjust
doit être numérique.theme(plot.title = element_text(hjust = 0.5))
, mais cela n'a pas fonctionné, c'est bizarre.Comme indiqué dans la réponse de Henrik , les titres sont alignés à gauche par défaut à partir de ggplot 2.2.0. Les titres peuvent être centrés en ajoutant ceci à l'intrigue:
Cependant, si vous créez plusieurs tracés, il peut être fastidieux d'ajouter cette ligne partout. On pourrait alors aussi changer le comportement par défaut de ggplot avec
Une fois que vous avez exécuté cette ligne, tous les tracés créés par la suite utiliseront le paramètre de thème
plot.title = element_text(hjust = 0.5)
par défaut:Pour revenir aux paramètres par défaut de ggplot2, vous pouvez soit redémarrer la session R, soit choisir le thème par défaut avec
la source
Le
ggeasy
package a une fonction appeléeeasy_center_title()
pour cela. Je le trouve beaucoup plus attrayant quetheme(plot.title = element_text(hjust = 0.5))
et c'est tellement plus facile à retenir.Notez qu'au moment d'écrire cette réponse, vous devrez installer la version de développement
ggeasy
de GitHub pour l'utilisereasy_center_title()
. Vous pouvez le faire en exécutantremotes::install_github("jonocarroll/ggeasy")
.la source