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.0
Recientemente 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.title
argumento 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 coercion
y ningún título. ¿Es esto un error?hjust
debe 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
ggeasy
paquete 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
ggeasy
GitHub para usarlaeasy_center_title()
. Puedes hacerlo corriendoremotes::install_github("jonocarroll/ggeasy")
.fuente