Я думал об использовании функций par() или layout() для объединения ggplots. Можно ли использовать эти функции?Комбинированный график ggplot2 (Не в одном графике), используя функцию par() или layout()?
Скажите, что я хочу построить ggplot для диаграммы рассеяния и ggplot для гистограммы. И я хочу объединить два участка (НЕ В ОДНОМ УЧАСТКЕ). Это применимо?
Я попробовал это с простым построением графика в R, не используя функции ggplot. И это работает на самом деле.
Вот пример из Quick-R, Link: http://www.statmethods.net/advgraphs/layout.html
# 4 figures arranged in 2 rows and 2 columns
attach(mtcars)
par(mfrow=c(2,2))
plot(wt,mpg, main="Scatterplot of wt vs. mpg")
plot(wt,disp, main="Scatterplot of wt vs disp")
hist(wt, main="Histogram of wt")
boxplot(wt, main="Boxplot of wt")
# One figure in row 1 and two figures in row 2
attach(mtcars)
layout(matrix(c(1,1,2,3), 2, 2, byrow = TRUE))
hist(wt)
hist(mpg)
hist(disp)
Но когда я пытаюсь использовать ggplot, и объединить сюжет, я не получаю выход.
ggplot2 является а не базовую графику, поэтому вы не можете объединить ggplot2 и макет или пар (mfrow). вам нужно использовать, например, plot.arrange и т. д. в gridExtra. Или вы можете играть с видовым экраном в сетке. – kohske
Поскольку вы просили что-то вроде 'layout()', вы, вероятно, хотите что-то вроде 'grid.arrange()' (как упоминалось в кохске). [Этот связанный пост] (http://stackoverflow.com/questions/7993722/creating-arbitrary-panes-in-ggplot2/7996205#7996205) (и в частности ответ Бен-Болкера) даст вам хорошую отправную точку. –