Как я могу повернуть полный ggplot facet_wrap? - PullRequest
0 голосов
/ 05 июля 2019

Я применил facet_wrap к диаграмме, где группы - это разные слои / сегменты вертикального профиля.Имеет смысл наносить их друг на друга, а не рядом друг с другом.Другими словами, я хочу столбчатую диаграмму facet_wrap, в которой соответствующие поля повернуты на 90 ° и нанесены вертикально друг на друга.

Я попытался использоватьordin_flip, который, однако, только переворачивает координаты в фасетах ине целые коробки.

dat <- as.data.frame(
  cbind(
    c("Layer 1", "Layer 1", "Layer 1", "Layer 2", "Layer 2", "Layer 2", "Layer 3", "Layer 3", "Layer 3"),
    c("group 1", "group 2", "group 3", "group 1", "group 2", "group 3", "group 1", "group 2", "group 3"),
    c(2, 3, 6, 3, 4, 5, 4, 2, 3)
  )
)
names(dat) <- c("ID", "Group", "Value")

ggplot(data = dat) +
  geom_bar(mapping = aes(x= ID, y= Value, fill = "red", group = Group), stat="identity", position = "dodge") +
  labs(title= "", x= "", y = "Value") +
  theme(legend.position="bottom") +
  facet_wrap(~ ID,scales="free")

enter image description here

1 Ответ

0 голосов
/ 05 июля 2019

Хороший пример.Вот версия этого

dat %>%  
  mutate(Group = factor(Group, levels = rev(levels(Group)))) %>% 
  ggplot() +
  geom_col(
    mapping = aes(
      x = Group,
      y = Value,
      fill = "red",
      group = Group
    ),
    stat = "identity",
    position = "dodge"
  ) +
  labs(title = "", x = "", y = "Value") +
  theme(legend.position = "bottom") +
  facet_grid(ID ~ ., scales = "free_y") +
  coord_flip()

. geom_col имеет столбики, в которых вы можете указать обе оси.Я переупорядочил переменную Group, чтобы они отображались по порядку.

Результат от предложения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...