1. ホーム
  2. r

[解決済み] プロットをオブジェクトに保存する

2023-01-16 10:55:29

質問

ggplot2 で、グラフィックをRオブジェクトに簡単に保存することができます。

p = ggplot(...) + geom_point()      # does not display the graph
p                                   # displays the graph

標準関数 plot は、void関数としてグラフィックを生成し、NULLを返します。

p = plot(1:10)     # displays the graph
p                  # NULL

で作成したグラフィックを保存することは可能ですか? plot で作成したグラフィックをオブジェクトに保存することはできますか?

どのように解決するのですか?

ベース・グラフィックスがデバイスに直接描画されます。

を使うことができます。

1- recordPlot

2- 最近導入された gridGraphics パッケージ ベース・グラフィックスをグリッドに相当するものに変換する

以下は最小限の例です。

plot(1:10) 

p <- recordPlot()
plot.new() ## clean up device
p # redraw

## grab the scene as a grid object
library(gridGraphics)
library(grid)
grid.echo()
a <- grid.grab()

## draw it, changes optional
grid.newpage()
a <- editGrob(a, vp=viewport(width=unit(2,"in")), gp=gpar(fontsize=10))
grid.draw(a)