向每个facet_grid图添加y轴标签

时间:2019-08-20 12:14:34

标签: r ggplot2

我有一个情节,你可以简单地复制

library(dplyr)
library(ggplot2)

tibble(x = sample.int(3, 1000, replace = T),
       y = sample(letters[1:3], 1000, replace = T),
       k = sample(LETTERS[4:6], 1000, replace = T)) %>%
  count(x,y,k) %>%
  ggplot(aes(k, n)) +
  geom_bar(stat = "identity") +
  coord_flip() +
  facet_grid(x ~ y)

类似于下面的图(取决于随机抽样):

enter image description here

我想向每个轴添加y标签,但仍然能够使用facet_grid布局。通常是因为我需要为每行图添加标签,而不是在它们上方。在这种情况下,听起来可能很奇怪,但是在我的数据中,我有一个5x6的网格图,y轴上有10个标签。这样可以简化整个图的可读性。

我想实现这样的情节:

enter image description here

1 个答案:

答案 0 :(得分:2)

您可以使用facet_wrap来实现,但是会更改布局。

library(dplyr)
library(ggplot2)

tibble(x = sample.int(3, 1000, replace = T),
       y = sample(letters[1:3], 1000, replace = T),
       k = sample(LETTERS[4:6], 1000, replace = T)) %>%
  count(x,y,k) %>%
  ggplot(aes(k, n)) +
  geom_bar(stat = "identity") +
  coord_flip() +
  facet_wrap(~ interaction(x, y), scales = "free_y")

enter image description here