を使用すると、次のようなものを使用して、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、:入力はgrobsである必要があります!のエラー
アップデート:
アドバイスありがとうございます。調べてみviewports
ますgrid
。それまでの間、@ DWinのおかげで、「wq」パッケージの関数は、私のドキュメント
layOut
のコンパイル図に対して非常にうまく機能しました。Sweave
アップデート2:
コマンド(@baptisteによって提案されたarrangeGrob
)もうまく機能し、非常に直感的に見えます-少なくとも2つの列の幅を変更するのは簡単でした。また、「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」が表示されるのか誰か教えてください。