гистограмма ggplot facet_wrap и ширина столбца

#r #ggplot2

Вопрос:

Я создал следующий фрейм данных и гистограмму, используя ggplot и facet_wrap() .

 group <- c('a', 'a', 'a', 'b', 'b', 'b', 'c', 'c', 'c', 'd', 'd', 'e', 'e', 'f', 'f')
condition_a <- c('occasionally', 'often', 'often', 'often', 'occasionally', 'often', 'often', 'occasionally', 'often', 'often', 'occasionally', 'occasionally', 'often', 'often', 'occasionally')
condition_c <- c('yes', 'yes', 'no', 'no', 'no', 'no', 'yes', 'yes', 'yes', 'yes', 'yes', 'no', 'yes', 'no', 'no')

data.frame <- data_frame (group, condition_a, condition_c)

tiff("test.tiff", units="in", width=15, height=5, res=300)
ggplot(data.frame, aes(x = condition_a, fill = condition_c))  
  scale_y_continuous(labels = scales::percent_format())  
  geom_bar(position = position_fill())  
  facet_wrap(~ group)
dev.off()
 

Проблема в том, что столбцы слишком широкие, и я хотел бы разместить все эти диаграммы рядом. Я пробовал geom_col и geom_bar, но они не работают.

Спасибо за вашу помощь!

Комментарии:

1. Вы пробовали уменьшить аргумент ширины в своем вызове до tiff : изображение ggplot заполняет область вашего изображения tiff. Попробуй с сэем width = 6 . В качестве альтернативы, если вам нужно, чтобы ширина изображения составляла 15 дюймов, увеличьте высоту tiff в соответствии с относительной шириной полосы и высотой графика.

2. Спасибо за ваш ответ! Если я изменю ширину tiff, колумбы станут уже. Но все же есть три диаграммы рядом, а остальные ниже?

3. Попробуй с facet_wrap(~ group, nrow = 1) .

4. Это работает! Большое спасибо!

Ответ №1:

В качестве альтернативы вы можете использовать facet_grid( ~ group) . Это также становится полезным для фасетирования по двум группам, когда facet_grid(group1 ~ group2) это будет использоваться.