[解決済み] ggplotsの'unbalanced'グリッドを得るにはどうしたらよいですか?
質問
と
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列目に1つのプロット、2列目に3つのプロットを持つ「アンバランスな」2列レイアウトを得るにはどうしたらよいでしょうか。
私は、'grid-of-grids' アプローチで
grid.arrange
を使用して、1 つのグリッドをプロットしようとしました (例えば
plot5
, 上記)に対して別のプロットを行ったが、得られた。
arrangeGrob(..., as.table = as.table, clip = clip, main = main, ...でエラー。 input must be grobs!
更新しました。
アドバイスありがとうございます。私は調べてみます。
viewports
と
grid
. 一方、@DWin のおかげで
layOut
のコンパイル図は、'wq' パッケージの関数が非常にうまく機能しました。
Sweave
のドキュメントにあります。
アップデート2です。
この
arrangeGrob
コマンド (@baptiste によって提案された) もうまく動作し、非常に直感的なようです - 少なくとも、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' が表示されるのか、どなたか教えてください。
どのように解決するのですか?
grid.arrange
はデバイスに直接描画します。他のグリッドオブジェクトと組み合わせたい場合は
arrangeGrob
のように
p = rectGrob()
grid.arrange(p, arrangeGrob(p,p,p, heights=c(3/4, 1/4, 1/4), ncol=1),
ncol=2)
編集
(2015/07):v>2.0.0にて、以下のように
layout_matrix
という引数が追加されました。
grid.arrange(p,p,p,p, layout_matrix = cbind(c(1,1,1), c(2,3,4)))
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン