За допомогою 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)
Як я можу отримати `` незбалансований '' макет 2-х колонок з одним графіком у всьому першому кольорі та трьома графіками у другому кольорі? Я грався з підходом "сітки сіток", намагаючись використати grid.arrange
для побудови однієї сітки (наприклад plot5
, вище) проти іншої ділянки, але отримав:
Помилка в submitGrob (..., as.table = as.table, clip = clip, main = main,: введення має бути grobs!
Оновлення:
Дякую за пораду. Я розгляну 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'?
grid
. Див. Також книгу Хадлі ggplot2, розділ 8.4.2.
grid.arrange
можна використовувати з вкладеними вікнами перегляду, використовуючи його супутник arrangeGrob
(по суті, повертаючи a gTree
), як у прикладі, який я навів нижче.
plot5
не потрібно, оскільки grid.arrange
нічого не повертає (NULL). Якщо ви хочете зберегти отриманий grob, використовуйте arrangeGrob
ще раз (і grid.draw
відобразити його).
grid.arrange
можливо, недостатньо гнучко (шукайте stackoverflow для "[r] сітки перегляду")