Упорядочить список графиков ggplot и отрегулировать интервал / поля

#r #ggplot2 #r-markdown

#r #ggplot2 #r-уценка

Вопрос:

У меня есть функция, которая создает список графиков ggplot. В настоящее время я использую пэчворк для объединения графиков таким образом, чтобы я мог вязать в Word, но у меня возникают трудности с тем, как это выглядит при рендеринге. В настоящее время результат выглядит следующим образом:

плохой рисунок

Я хотел бы сделать это так, чтобы это выглядело следующим образом:

хорошая цифра

В настоящее время мой код выглядит следующим образом:

 patchwork_plots <- Reduce(` `, plots)

patchwork_plots   
  plot_layout(ncol=2)  
  

Я пробовал несколько разных пакетов и разные способы настройки, но, похоже, ничего на самом деле не работает. Любые предложения были бы замечательными.

Комментарии:

1. Попробуйте purrr::reduce(plots, )

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

Ответ №1:

Простое решение — просто изменить соотношение сторон и width= и height= графика. Графика на ваших графических изображениях не будет масштабироваться так же, как текст на графике, но будет зависеть от разрешения и размера / соотношения сторон вашего графического устройства. Вот пример, который показывает 3 очень разных графика, которые могут получиться в результате настройки соотношения сторон вашего вывода.

 library(ggplot2)
# intentionally crowded plot
gplot(mtcars, aes(mpg, disp))   geom_point()  
  facet_wrap(factor(cyl)~factor(carb), scales='free')  
  labs(x='mpg is here and this is long', y='disp is here and this is long too!')
  

Ширина = 4, высота = 3

 ggsave('plot4_3.png', width=4, height=3)
  

введите описание изображения здесь

Ширина = 8, высота = 5

 ggsave('plot8_5.png', width=8, height=5)
  

введите описание изображения здесь

Ширина = 12, высота = 9

 ggsave('plot12_9.png', width=12, height=9)
  

введите описание изображения здесь