2

次のようなものをプロットするとします。

ggplot(iris, aes(x=Sepal.Length, y=Petal.Length)) + geom_point()

その後、結果 (つまり ggplot オブジェクト) を保存するのを忘れていたことに気付きました。

現在のデバイスに対応する ggplot オブジェクトを取得するにはどうすればよいですか?

関連するプロットオブジェクトを取得するためにggplotフィードできる関数はありますか、それとも永遠に消えてしまいますか?cur.dev()

(注 - この場合は を実行できますがp <- .Last.value、それ以降いくつかのコマンドを入力したため、これが使用できないと仮定しましょう。

動機 - フックを追加して、プロットのタイトルknitrに自動的に設定fig.capします (存在する場合))。

4

2 に答える 2

9

あなたは後ですlast_plot

変更または作成された最後のプロットを取得し、によって使用されますggsave

これは最後に変更 または 作成されたプロットであることに注意してください

set_last_plot 関連するコードです(ソースを参照してください)

ggplot オブジェクトを変更またはレンダリングすると、最後のプロットが設定されることに注意してください。

ggplot(iris, aes(x=Sepal.Length, y=Petal.Length)) + geom_point()
f <- last_plot()
# will return the iris plot
p <- ggplot(mtcars, aes(x = wt, y = mpg)) + geom_point()
last_plot()
# will return p
f
last_plot() 
# is now f

gridまた、または( /gridExtraなど)を使用した変更/操作もカウントされません。grid.arrangegrid.text

于 2013-04-23T03:15:39.147 に答える