ggplot_buildによって生成されたデータを変更することによって、ggplotで構築されたグラフを変更しています(理由はに似ています)。私がこのトピックで見つけた助けを理解する限り、結果にggsaveを呼び出す前にggplot_gtableとarrangeGrobを適用して結果を保存することができます(Saving grid.arrange() plot to file)。ggplot_buildとggplot_gtableを使ってグラフを保存する
私はエラー得るしかしまた、この単純なreproductible例で、「プロットはggplot2プロットする必要があります」:これが動作しない理由を
require('ggplot2')
require('gridExtra')
df <- data.frame(f1=factor(rbinom(100, 1, 0.45), label=c("m","w")),
f2=factor(rbinom(100, 1, 0.45), label=c("young","old")),
boxthis=rnorm(100))
g <- ggplot(aes(y = boxthis, x = f2, fill = f1), data = df) + geom_boxplot()
dd <- ggplot_build(g)
# Printing the graph works:
print(arrangeGrob(ggplot_gtable(dd)))
# Saving the graph doesn't:
ggsave('test.png',arrangeGrob(ggplot_gtable(dd)))
誰も説明できますか? ggplot_build()を使ってデータを変更した後、ggsaveを使用する方法はありますか?
(パッケージの私のバージョンはgridExtra_0.9.1とggplot2_0.9.3.1ある)
ありがとう、完璧に動作します。 –
ありがとうございます。これは、[リンク](http://stackoverflow.com/a/20433318/2173340)と組み合わせて、 'ggplot2'によって作成されたプロットを 'gtable'と 'ggsave'を使って保存するという私の問題を修正しました。 –
@baptiste私はあなたのトリックを上書きする 'ggsave'関数で試しましたが、私の場合はうまくいきません。同時に、 'ggplot'はまだ' 1.0.1'であり、問題はまだ解決されていません。あなたのメソッドを使うと、 'ggsave( 'test.pdf'、arrangeGrob(p1、p2))'を使ってpdfファイルを作成しますが、それはある意味で壊れています。同時に 'gtable 'がコンソールに表示されます。だから何かが正しく働いていない。 – drmariod