scale_x_discrete manipulation ggtitle ggplot change r ggplot2

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"))