Ответ 1
Попробуйте использовать
scale_x_continuous (breaks = NULL)
Это приведет к удалению всех вертикальных линий сетки, а также меток тиккирования оси x.
Я создаю гистограмму, для которой бары достаточны для показа горизонтального (х) размещения, поэтому я бы хотел избежать рисования лишних вертикальных линий сетки.
Я понимаю, как стилизовать минорные и основные сетки в opts(), но я не могу на всю жизнь понять, как подавлять только вертикальные линии сетки.
library(ggplot2)
data <- data.frame(x = 1:10, y = c(3,5,2,5,6,2,7,6,5,4))
ggplot(data, aes(x, y)) +
geom_bar(stat = 'identity') +
opts(
panel.grid.major = theme_line(size = 0.5, colour = '#1391FF'),
panel.grid.minor = theme_line(colour = NA),
panel.background = theme_rect(colour = NA),
axis.ticks = theme_segment(colour = NA)
)
В этот момент мне кажется, что мне нужно будет подавить все линии сетки, а затем вернуть их обратно с помощью geom_hline(), который кажется вроде как боль (также не совсем понятно, как я могу найдите позиции tick/major gridline для подачи в geom_hline().)
Любые мысли будут оценены!
Попробуйте использовать
scale_x_continuous (breaks = NULL)
Это приведет к удалению всех вертикальных линий сетки, а также меток тиккирования оси x.
Как и в ggplot2 0.9.2, это стало проще , используя "темы". Теперь вы можете назначать темы отдельно для panel.grid.major.x и panel.grid.major.y, как показано ниже.
# simulate data for the bar graph
data <- data.frame( X = c("A","B","C"), Y = c(1:3) )
# make the bar graph
ggplot( data ) +
geom_bar( aes( X, Y ) ) +
theme( # remove the vertical grid lines
panel.grid.major.x = element_blank() ,
# explicitly set the horizontal lines (or they will disappear too)
panel.grid.major.y = element_line( size=.1, color="black" )
)
Результат этого примера довольно уродливый, но он демонстрирует, как удалять вертикальные линии, сохраняя горизонтальные линии и метки метки оси x.
См. редактирование уровня сетки для другой опции:
https://github.com/hadley/ggplot2/wiki/Editing-raw-grid-objects-from-a-ggplot
Это оставляет вас только с точками данных:
ggplot(out, aes(X1, X2)) +
geom_point() +
scale_x_continuous(breaks = NULL) +
scale_y_continuous(breaks = NULL) +
opts(panel.background = theme_blank()) +
opts(axis.title.x = theme_blank(), axis.title.y = theme_blank())