ggplot_gtable
を使用して各ggplotのレイアウトオプションを変更し、grid.arrange
を使用してすべてのプロットを表示することができます。
library(ggplot2)
library(gridExtra)
## create a dummy ggplot
(g1 <- ggplot(mtcars, aes(wt, mpg)) +
geom_text(aes(label=rownames(mtcars)), size=6, angle=45) +
theme(plot.margin = unit(rep(1, 4), "cm")))
明らかに、テキストラベルはプロット領域外には広がっていません。しかし、次のコードは、ちょうどそのことができます:
gg_table <- ggplot_gtable(ggplot_build(g1))
gg_table$layout$clip[gg_table$layout$name=="panel"] <- "off"
grid.draw(gg_table)
はすべてを表示するためにgrid.arrange
を使用し、その後、各パネルのgg_tableを作成します。
grid.arrange(gg_table, gg_table, gg_table, gg_table, ncol=2)
![enter image description here](https://i.stack.imgur.com/RT1i2.png)
私は、これは労働集約的である知っているが、あなた複数のggplotsとgg_tablesを作成して時間を節約する関数を書くことができます。
'scale_x_discrete'や' scale_y_continuous'に 'expand'引数を使ってみることができます。これは、長さ2の数値ベクトルをとります。最初は拡大の要素で、2番目は加算的な展開です。異なる値を試して、うまくいくかどうか確認してください。 –
フェローのワードクラウドは、ggplot2との互換性があることを願っています。具体的には、更新版では次のように扱います:http://blog.fellstat.com/?p=248 –
@BrianDiggsこのチップをありがとう。 'expand'はそのトリックをするようですが、結果としてスタイルの微調整が必要になると思います。私は' theme_bw() 'を使い始めています... – psychemedia