3

この質問のフォローアップとして、私が次のようなことをしたとします。

p <- ggplot(mtcars, aes(mpg)) + geom_histogram(aes(y = ..count..)) + facet_wrap(~am)
r <- print(p)

2行目では、印刷メソッドを呼び出しています。これは、プロットオブジェクトにレイヤーを追加する前に、プログラムで戻り値を検査できるようにするためです。

私の質問:その時点でプロットの描画を抑制する方法はありますか?

4

2 に答える 2

4

内部を見ると、調べたい情報に応じて、ggplot2:::print.ggplotおそらく使用したいのはまたはのいずれggplot_build()かであることがわかります。ggplot_gtable()

ggplot_buildggplot2のprintメソッドによって目に見えない形で返されるデータオブジェクトを返すので、おそらくそれがあなたが求めているものです。ggplot_gtableグロブ自体を返します。これにより、グリッドグラフィックスオブジェクト自体を直接変更できます。

于 2012-10-11T15:52:31.323 に答える
1

どうですか:

#Create a temporary plot file
png('TMP_PLOT')

#Inspect return value of plot

#When you're done
dev.off()
#Delete the plot you just generated
unlink('TMP_PLOT')
于 2012-10-11T15:14:32.917 に答える