2013-07-24 5 views
5

Скажем, у меня есть следующие данные:Изменить поведение линии сетки в ggplot2

require(ggplot2) 
set.seed(123) 
data <- data.frame(x = sample(1:20, 100, replace = TRUE)) 

Я хочу, чтобы создать точечный участок data$x, так это то, что я делаю:

ggplot(data, aes(x)) + 
    geom_dotplot(binwidth = 1) + 
    scale_x_continuous(breaks = seq(1, 20, 1)) + 
    scale_y_continuous(breaks = NULL) 

Который дает мне это:

dotplot1

Я хотел бы избавиться от Thos e вертикальные линии сетки, поэтому я добавляю theme(line = element_blank()) в свой оператор ggplot. Проблема в том, что команда также устраняет отметки, которые я хотел бы сохранить. Как скрыть линии сетки, сохраняя соответствующие тики?

Я также хотел бы знать, как я могу изменить линии сетки, чтобы они были нарисованы каждый 1:20, а не на каждом знаке 0,5.

Я искал ответы в ?title() и ?geom_dotplot, попробовал пару вещей, но безрезультатно. Цените помощь!

ответ

11

Использование panel.grid

theme(panel.grid = element_blank()) 

enter image description here

Если вы хотите, чтобы линии сетки, чтобы быть обращено каждый 1:20, а не на каждые 0,5 знака.

theme(panel.grid.minor = element_blank(), 
     panel.grid.major = element_line(colour = "white",size=0.75)) 

enter image description here

+0

+1 К семи секунд! :-) –

+0

Спасибо, все те варианты темы заставили меня пропустить это. ;) –

+0

Любое принимает мое подзадание, меняя метки сетки на «1: 20»? –

1

вы можете найти ответы here

opts было изменено на theme. но дело о grid.major.x, grid.minor.y следует установить на трассе

Чтобы избавиться от основной линии сетки, например

ggplot(data, aes(x)) + 
    geom_dotplot(binwidth = 1) + 
    scale_x_continuous(breaks = seq(1, 20, 1)) + 
    scale_y_continuous(breaks = NULL) + theme(panel.grid.major = element_blank()) 
Смежные вопросы