С помощью grid.arrange
я могу расположить несколько ggplot
фигур в сетке, чтобы получить многопанельную фигуру, используя что-то вроде:
library(ggplot2)
library(grid)
library(gridExtra)
создайте несколько графиков ggplot2, затем
plot5 <- grid.arrange(plot4, plot1, heights=c(3/4, 1/4), ncol=1, nrow=2)
Как я могу получить «несбалансированный» макет с двумя столбцами с одним графиком во всем первом столбце и тремя графиками во втором столбце?
Я играл с подходом «сетка из сетки», пытаясь использовать grid.arrange
для построения одной сетки (например, plot5
, выше) относительно другого графика, но получил:
Ошибка вrangeGrob (..., as.table = as.table, clip = clip, main = main,:
вход должен быть гробом!
Обновление:
Спасибо за совет. Я посмотрю в viewports
и grid
. Между тем, благодаря @DWin, функция layOut
в пакете 'wq' очень хорошо работала для фигуры компиляции в моем документе Sweave
:
Обновление 2:
Команда arrangeGrob
(как предлагает @baptiste) также работает хорошо и кажется очень интуитивно понятной - по крайней мере, было легко изменить ширину двух столбцов. Он также имеет то преимущество, что не требует пакета `wq '.
например. Вот код из моего файла Sweave:
<<label=fig5plot, echo=F, results=hide>>=
plot5<-grid.arrange(plot4, arrangeGrob(plot1, plot2, plot3, ncol=1),
ncol=2, widths=c(1,1.2))
@
\begin{figure}[]
\begin{center}
<<label=fig5,fig=TRUE,echo=T, width=10,height=12>>=
<<fig5plot>>
@
\end{center}
\caption{Combined plots using the `arrangeGrob' command.}
\label{fig:five}
\end{figure}
, который производит следующий вывод:
Кстати, кто-нибудь подскажет, почему появляется «> NA»?