Как добавить грани и сохранить индивидуальную высоту фасета на графике как есть? - PullRequest
0 голосов
/ 26 июня 2019

Я хочу создать большой facet_wrap с ggplot2.

Мне нужен какой-то автоматический способ добавления отдельных фасетов по столбцам, чтобы фасеты сохраняли размер, который они имели бы по умолчанию, если (с теми же данными) только первая строка с четырьмя столбцами будут предоставлены грани.

например. Я обеспокоен высотой сюжета. Я знаю, как вручную изменить высоту сюжета, но мне нужен автоматический способ.

Некоторые примеры данных:

mpg <- mpg %>%
distinct(model, year, .keep_all = TRUE)

ggplot(mpg, aes(x=year, y=hwy))+
   geom_point()+
   facet_wrap(~model)

Все грани должны иметь одинаковую высоту с

mpg %>%
  distinct(model, year, .keep_all = TRUE) %>%
  filter(model %in% c("4runner 4wd", "a4", "a4 quattro", "altima")) %>%

  ggplot(aes(x=year, y=hwy))+
  geom_point()+
  facet_wrap(~model, ncol = 4)

1 Ответ

1 голос
/ 26 июня 2019

Вы можете сохранить высоту графика, используя theme(aspect.ratio). Например,

mpg <- mpg %>%
    distinct(model, year, .keep_all = TRUE)

ggplot(mpg, aes(x=year, y=hwy))+
    geom_point()+
    facet_wrap(~model) + theme(aspect.ratio=2)

aspect_ratio

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