2016-03-01 3 views
1

Мне нужно отобразить сетку графиков для кадра данных, который составляет 213 x 4. Когда я использую следующую команду в ggplot2, график представляет собой длинный линейный дисплей графиков, которые сжимаются вверхСетка графиков в ggplot

ggplot(data=r,aes(x=wicketPlayerOut,y=runs,fill=wicketPlayerOut)) + 
    facet_grid(. ~ bowler,scales = "free_x", space = "free_x") + 
    geom_bar(stat="identity") + 
    theme(axis.text.x = element_text(angle = 90, hjust = 1)) 

Я пытался использовать facet_wrap, но я получаю сообщение об ошибке

«Ошибка в layout_base (данные, вары, падение = падение): по крайней мере, один слой должен содержать все переменные, используемые для facetting»

Команда, которую я использовал для facet_wrap, является следующим образом

ggplot(data=r,aes(x=wicketPlayerOut,y=runs,fill=wicketPlayerOut)) + 
    facet_wrap(. ~ bowler,scales = "fixed",ncol=4,drop=TRUE)+ 
    geom_bar(stat="identity") + 
    theme(axis.text.x = element_text(angle = 90, hjust = 1)) 

Как я могу отображать строки A x B столбцами графиков? enter image description here

+1

Изменить формулу в '' facet_wrap' к ~ bowler'. – Roland

+0

Roland - Thx. Я только что сделал, и это сработало. Вы можете ответить на вопрос, и я соглашусь. –

ответ

1

изменен на следующий

ggplot(data=r,aes(x=wicketPlayerOut,y=runs,fill=wicketPlayerOut)) + 
facet_wrap(~ bowler,scales = "fixed",ncol=4,drop=TRUE)+ 
geom_bar(stat="identity") + 
theme(axis.text.x = element_text(angle = 90, hjust = 1)) 

и дисплей теперь, как nrow х Ncol

Смежные вопросы