r - manipulation - ggtitle size
Agregar subtÃtulos dinámicos usando ggplot (1)
Estoy tratando de usar ggplot para agregar un subtítulo. Se hizo una pregunta similar aquí: ¿Cómo agregar un subtítulo ggplot2 con diferentes tamaños y colores? y la respuesta fue la siguiente:
p <- p + ggtitle(expression(atop(paste(''TITLE''), atop(italic(paste(''SUBTITLE'')), ""))))
Sin embargo, las palabras ''TITLE''
y ''SUBTITLE''
deben estar codificadas, presentando un problema de escalabilidad y automatización cuando se trata de miles de parcelas.
Esto no funciona:
plot.title = ''TITLE''
plot.subtitle = ''SUBTITLE''
p <- p + ggtitle(expression(atop(paste(plot.title), atop(italic(paste(plot.subtitle)), ""))))
Supongo que la pregunta sobre cómo agregar correctamente los subtítulos dinámicos, usando esta idea, se reduce a: ¿Es posible usar variables de caracteres dentro de la expresión y arriba?
Debe usar la función bquote()
lugar de la expression()
para usar títulos que están almacenados como variables. Y los nombres de variables deben colocarse dentro .()
plot.title = ''TITLE''
plot.subtitle = ''SUBTITLE''
ggplot(mtcars,aes(disp,mpg))+geom_point()+
ggtitle(bquote(atop(.(plot.title), atop(italic(.(plot.subtitle)), ""))))
ACTUALIZACIÓN - ggplot2 versión 2.2.1
La última versión de ggplot2 ahora puede producir subtítulos directamente, por lo que no tiene que usar bquote()
y expression()
. El resultado se obtiene con argumento subtitle =
of function labs()
.
ggplot(mtcars,aes(disp,mpg))+geom_point()+
labs(title = plot.title,subtitle = plot.subtitle) +
theme(plot.subtitle = element_text(face = "italic"))