tutorial studio qplot graphs ggplot español bar r graphics ggplot2

studio - Retire las etiquetas facet_wrap por completo



ggplot2 tutorial español (4)

Me gustaría eliminar las etiquetas de las facetas por completo para crear una especie de efecto de chispa , ya que para la audiencia las etiquetas son irrelevantes, lo mejor que se me ocurre es:

library(MASS) library(ggplot2) qplot(week,y,data=bacteria,group=ID, geom=c(''point'',''line''), xlab='''', ylab='''') + facet_wrap(~ID) + theme(strip.text.x = element_text(size=0))

Entonces, ¿puedo deshacerme del strip.background (ahora en blanco) completamente para permitir más espacio para las "sparklines"?

¿O, alternativamente, hay una mejor manera de obtener este efecto " sparkline " para una gran cantidad de series temporales de valores binarios como este?


Estoy usando ggplot2 versión 1 y los comandos requeridos han cambiado. En lugar de

ggplot() ... + opts(strip.background = theme_blank(), strip.text.x = theme_blank())

ahora usas

ggplot() ... + theme(strip.background = element_blank(), strip.text = element_blank())

Para más detalles ver http://docs.ggplot2.org/current/theme.html


La respuesta actualizada de Sandy parece buena, ¿pero posiblemente se haya vuelto obsoleta por las actualizaciones de ggplot? Por lo que puedo decir, el siguiente código (una versión simplificada de la respuesta original de Sandy) reproduce el gráfico original de Sean sin ningún espacio adicional:

library(ggplot2) library(grid) qplot(week,y,data=bacteria,group=ID, geom=c(''point'',''line''), xlab='''', ylab='''') + facet_wrap(~ID) + theme(strip.text.x = element_blank())

Estoy usando ggplot 2.0.0.


Para ggplot v2.1.0 o superior, use element_blank() para eliminar elementos no deseados:

library(MASS) # To get the data library(ggplot2) qplot( week, y, data = bacteria, group = ID, geom = c(''point'', ''line''), xlab = '''', ylab = '''' ) + facet_wrap(~ ID) + theme( strip.background = element_blank(), strip.text.x = element_blank() )

En este caso, el elemento que intentas eliminar se llama strip .

Alternativa usando ggplot grob layout

En versiones anteriores de ggplot (antes de v2.1.0), el texto de la tira ocupa filas en el diseño de tabla.

element_blank elimina el texto y el fondo, pero no elimina el espacio ocupado por la fila.

Este código elimina esas filas del diseño:

library(ggplot2) library(grid) p <- qplot( week, y, data = bacteria, group = ID, geom = c(''point'', ''line''), xlab = '''', ylab = '''' ) + facet_wrap(~ ID) # Get the ggplot grob gt <- ggplotGrob(p) # Locate the tops of the plot panels panels <- grep("panel", gt$layout$name) top <- unique(gt$layout$t[panels]) # Remove the rows immediately above the plot panel gt = gt[-(top-1), ] # Draw it grid.newpage() grid.draw(gt)


Por lo que puedo decir, la respuesta de Sandy es correcta, pero creo que vale la pena mencionar que parece haber una pequeña diferencia en el ancho de una parcela sin facetas y el ancho de una parcela con las facetas eliminadas.

No es obvio a menos que lo estés buscando, pero si apilas diagramas usando los diseños de las vistas que Wickham recomienda en su libro, la diferencia se hace evidente.