Поворот переключаемых меток фасетов в ggplot2 facet_grid

Я хотел бы нанести несколько барплотов друг на друга, используя facet_grid:

library(ggplot2)

df <- group_by(mpg, manufacturer) %>%
  summarise(cty = mean(cty), hwy = mean(hwy)) %>%
  ungroup()

df <- melt(df, id.vars = "manufacturer")

ggplot() +
  geom_bar(data =df, aes(x = variable, y = value), stat = "identity") +
  facet_grid(manufacturer ~ ., switch = "y")

Я использую switchаргумент ggplot2::facet_grid()чтобы метки фасетов отображались на оси Y, а не в верхней части каждого фасета. Проблема заключается в том, что метки фасетов располагаются вертикально и поэтому обрезаются. Есть ли какой-нибудь способ нанести метку на фасет по горизонтали? Все вопросы, которые я нашел до сих пор, касались только вращения меток оси X, а не меток фасетов.

1 ответ

Решение

Вам просто нужно добавить тему () и указать угол в strip.text.y

library(ggplot2)
df <- group_by(mpg, manufacturer) %>%
  summarise(cty = mean(cty), hwy = mean(hwy)) %>%
  ungroup()

df <- melt(df, id.vars = "manufacturer")

ggplot() +
  geom_bar(data =df, aes(x = variable, y = value), stat = "identity") +
  facet_grid(manufacturer ~ ., switch = "y")+
 theme(strip.text.y = element_text(angle = 180))
Другие вопросы по тегам