Отрегулируйте размер панелей, построенных с помощью ggplot () и facet_grid - PullRequest
0 голосов
/ 04 мая 2020

У меня есть фрейм данных для построения нескольких панелей с одной и той же осью x и другой осью y. Количество столбцов может быть разным. Я использую ggplot и facet_grid для построения этих панелей.

Проблема в том, что размер общего графика кажется одинаковым, поэтому, когда появляется больше панелей, размер каждой из них очень мал.

Есть ли способы исправить размер каждой панели, а общий размер фигуры зависит от количества столбцов и панелей? Спасибо.

1 Ответ

2 голосов
/ 05 мая 2020

Прошу прощения за непреднамеренное саморекламу, но некоторое время назад я написал функцию для более точного управления размерами панелей. Положил в пакет на гитхабе. Я не уверен, как это будет работать с блестящим приложением, но вот как вы будете работать с ним в ggplot2.

Вы можете контролировать относительные размеры ширины / высоты, установив простые числа для строки / столбцы.

library(ggplot2)
library(ggh4x) #devtools::install_github("teunbrand/ggh4x")

df <- expand.grid(1:12, 3:5)
df$x <- 1

ggplot(df, aes(x, x)) +
  geom_point() +
  facet_grid(Var1 ~ Var2) +
  force_panelsizes(rows = 1, cols = 2, TRUE)

Вы также можете контролировать абсолютные размеры панели, установив объект unit. Обратите внимание, что вы также можете установить их для отдельных строк и столбцов, если заранее знаете количество панелей.

ggplot(df, aes(x, x)) +
  geom_point() +
  facet_grid(Var1 ~ Var2) +
  force_panelsizes(rows = unit(runif(12) + 0.1, "cm"), 
                   cols = unit(c(1, 5, 2), "cm"), 
                   TRUE)

Создано 05.05.2020 пакетом REPEX (v0.3.0)

Надеюсь, что помогло.

...