R
デバイス (postscript が最適) に出力をファイルではなく変数に書き込む方法はありますか?
たとえば、私はこれを知っています:
postscript(file="|cat")
plot(1:10)
dev.off()
あとがきテキストを に送信しますSTDOUT
。そのテキストを 内の変数に入れるにはどうすればよいR
ですか?
プロットの Binary を R 変数に文字列として取得することに成功しました。読み取り/書き込みのオーバーヘッドがあります。以下のスニペットでは、R はプロットを一時ファイルとして保存し、再度読み込みます。
## create a plot
x <- rnorm(100,0,1)
hist(x, col="light blue")
## save plot as temp file
png(filename="temp.png", width=500, height=500)
print(p)
dev.off()
## read temp file as a binary string
plot_binary <- paste(readBin("temp.png", what="raw", n=1e6), collapse="")
多分これはあなたに役立つでしょう。
postscript はコマンド引数を取るため、postscript(file="",command="|cat")
なぜあなたはそれをしたいのですか?R は、Postscript ファイルを操作するのにあまり適したシステムではありません。他に何もなければ、 tempfile() を使用して画像をファイルに書き込み、標準のファイル関数を使用して読み取ることができます。派手にしたい場合は、おそらく fifo() パイプを使用できますが、それがはるかに高速になるとは思えません。しかし、私はあなたが別のアプローチをした方が良いと思います.
次のように textConnection を使用できるはずです。
tc <- textConnection("string", "w")
postscript(tc)
plot(1:10)
dev.off()
しかし、string
空白のままです - おそらくバグですか?