Это продолжение из этого вопроса, в котором я пытался подавить вертикальные линии сетки.
Решение, предоставленное learnr, состояло в том, чтобы добавить scale_x_continuous (breaks = NA), но это имело побочный эффект также подавления меток оси x. Я полностью счастлив написать ярлыки в руке, но мне не ясно, как определить, куда должны идти метки.
Другим вариантом является подавление всех линий сетки (с использованием опций (panel.grid.major = theme_blank()) или некоторых таких), а затем возврата только в основных горизонтальных сетках. Опять же, проблема здесь заключается в том, как выяснить, какие перерывы в графике для поставки geom_hline().
Итак, мои варианты:
- Подавлять вертикальные линии сетки и метки по оси x (с использованием scale_x_continuous (breaks = NA)) и снова добавить метки оси x.
- Подавление всех линий сетки (с помощью opts (panel.grid.major = theme_blank())) и добавьте основные горизонтальные линии сетки обратно в использование geom_hline().
Вот два варианта:
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()
)