Hola, este código simple (y todos mis scripts de esta mañana) ha comenzado a darme un título descentrado en ggplot2
Ubuntu version: 16.04
R studio version: Version 0.99.896
R version: 3.3.2
GGPLOT2 version: 2.2.0Recientemente instalé lo anterior esta mañana para intentar solucionar esto ...
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))Respuestas:
De la noticia de lanzamiento de
ggplot 2.2.0: "El título principal de la trama ahora está alineado a la izquierda para que funcione mejor con un subtítulo" . Vea también elplot.titleargumento en?theme: "alineado a la izquierda por defecto".Como señaló @J_F, puede agregar
theme(plot.title = element_text(hjust = 0.5))al centro el título.fuente
... theme(plot.title = element_text(hjust = 'center')), recibo los mensajes de advertencia de error:1: In unit(rep(xp, n), "npc") : NAs introduced by coercionv2: In validDetails.text(x) : NAs introduced by coerciony ningún título. ¿Es esto un error?hjustdebe ser numérico.theme(plot.title = element_text(hjust = 0.5)), pero no funcionó, es extraño.Como se indica en la respuesta de Henrik , los títulos están alineados a la izquierda por defecto comenzando con ggplot 2.2.0. Los títulos pueden centrarse agregando esto a la trama:
Sin embargo, si crea muchas parcelas, puede ser tedioso agregar esta línea en todas partes. Entonces también se podría cambiar el comportamiento predeterminado de ggplot con
Una vez que haya ejecutado esta línea, todas las parcelas creadas posteriormente usarán la configuración del tema
plot.title = element_text(hjust = 0.5)como predeterminada:Para volver a la configuración predeterminada original de ggplot2, puede reiniciar la sesión R o elegir el tema predeterminado con
fuente
El
ggeasypaquete tiene una función llamadaeasy_center_title()para hacer precisamente eso. Me resulta mucho más atractivotheme(plot.title = element_text(hjust = 0.5))y es mucho más fácil de recordar.Tenga en cuenta que al escribir esta respuesta, deberá instalar la versión de desarrollo de
ggeasyGitHub para usarlaeasy_center_title(). Puedes hacerlo corriendoremotes::install_github("jonocarroll/ggeasy").fuente