では、グリッドに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)
最初の列全体に1つのプロットがあり、2番目の列に3つのプロットがある「アンバランス」2列レイアウトを取得するにはどうすればよいですか?私は、grid.arrange
あるグリッド(たとえばplot5
、上記)を別のプロットに対してプロットするために使用して「グリッドのグリッド」アプローチを試してみましたが、以下が得られました。
ArrangeGrob(...、as.table = as.table、clip = clip、main = main、のエラー:入力はグロブでなければなりません!
更新:
アドバイスありがとうございます。私はになりますviewports
とgrid
。その間、@ DWinのおかげlayOut
で、私のSweave
ドキュメントのコンパイル図では、「wq」パッケージの関数が非常にうまく機能しました。
アップデート2:
arrangeGrob
コマンドは(@baptisteにより示唆されるように)もうまく機能し、非常に直感的なようだ-少なくともそれは、2つの列のALTER幅に簡単でした。また、 `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
ます。Hadleyのggplot2ブック、セクション8.4.2も参照してください。
grid.arrange
は、以下に示した例のように、そのコンパニオンarrangeGrob
(基本的にはを返すgTree
)を使用してネストされたビューポートで使用できます。
plot5
は不要ですgrid.arrange
。結果のグロブを保存したい場合は、arrangeGrob
再度使用します(そしてそれgrid.draw
を表示します)。
grid.arrange
があるかもしれません- 十分な柔軟性がないかもしれません( "[r] grid viewport"のstackoverflowを検索してください)