Título de la parcela central en ggplot2


Hola, este simple código (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

He instalado recientemente lo anterior esta mañana para tratar de arreglar 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")

introduzca la descripción de la imagen aquí

 159
Author: mrub, 2016-11-18

2 answers

De las noticias 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 el argumento plot.title en ?theme: "alineado a la izquierda por defecto".

Como señaló @J_F, puede agregar theme(plot.title = element_text(hjust = 0.5)) para centrar el título.

ggplot() +
  ggtitle("Default in 2.2.0 is left-aligned")

introduzca la descripción de la imagen aquí

ggplot() +
  ggtitle("Use theme(plot.title = element_text(hjust = 0.5)) to center") +
  theme(plot.title = element_text(hjust = 0.5))

introduzca la descripción de la imagen aquí

 210
Author: Henrik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-05 14:13:09

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 se pueden centrar añadiendo esto a la trama:

theme(plot.title = element_text(hjust = 0.5))

Sin embargo, si crea muchas gráficas, puede ser tedioso agregar esta línea en todas partes. Entonces también se podría cambiar el comportamiento predeterminado de ggplot con

theme_update(plot.title = element_text(hjust = 0.5))

Una vez que haya ejecutado esta línea, todas las gráficas creadas posteriormente usarán la configuración de tema plot.title = element_text(hjust = 0.5) como su por defecto:

theme_update(plot.title = element_text(hjust = 0.5))
ggplot() + ggtitle("Default is now set to centered")

introduzca la descripción de la imagen aquí

Para volver a la configuración predeterminada original de ggplot2, puede reiniciar la sesión R o elegir el tema predeterminado con

theme_set(theme_gray())
 83
Author: Stibu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:03:05