Este es un seguimiento de this question, in which I was trying to suppress the vertical gridlines.¿Cómo puedo suprimir las líneas verticales de la cuadrícula en un diagrama ggplot2 mientras retiene las etiquetas del eje x?
La solución, proporcionada por learnr, era agregar scale_x_continuous (breaks = NA), pero esto tenía el efecto secundario de suprimir también las etiquetas del eje x. Estoy totalmente feliz de volver a escribir las etiquetas a mano, pero no me queda claro cómo saber a dónde deben ir las etiquetas.
La otra opción es suprimir todas las líneas de la cuadrícula (utilizando opts (panel.grid.major = theme_blank()) o algo así) y luego dibujando de nuevo solo en las principales líneas de cuadrícula horizontales. Una vez más, el problema aquí es cómo averiguar qué interrupciones hay en la trama para suministrar a geom_hline().
Así que, esencialmente, mis opciones son:.
- reprimir las líneas de división verticales y etiquetas del eje X (utilizando scale_x_continuous (roturas = NA)) y añadir las etiquetas del eje x de vuelta en
- suprimir todas las gridlines (usando opts (panel.grid.major = theme_blank())) y agrega las principales líneas de cuadrícula horizontales usando geom_hline().
Estas son las dos opciones:
library(ggplot2)
data <- data.frame(x = 1:10, y = c(3,5,2,5,6,2,7,6,5,4))
# suppressing vertical gridlines and x-axis labels
# need to re-draw x-axis labels
ggplot(data, aes(x, y)) +
geom_bar(stat = 'identity') +
scale_x_continuous(breaks = NA) +
opts(
panel.grid.major = theme_line(size = 0.5, colour = '#1391FF'),
panel.grid.minor = theme_blank(),
panel.background = theme_blank(),
axis.ticks = theme_blank()
)
# suppressing all gridlines
# need to re-draw horizontal gridlines, probably with geom_hbar()
ggplot(data, aes(x, y)) +
geom_bar(stat = 'identity') +
scale_x_continuous(breaks = NA) +
opts(
panel.grid.major = theme_blank(),
panel.grid.minor = theme_blank(),
panel.background = theme_blank(),
axis.ticks = theme_blank()
)
Puede usar geom_text() para volver a agregar manualmente las etiquetas de tilde del eje x. – learnr