Поворот переключаемых меток фасетов в 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))