Rを使用して単純な線形回帰をプロットします。その画像をPNGまたはJPEGとして保存したいのですが、自動的に実行できますか?(コード経由)
2つの異なる質問があります。最初に、私はすでにモニターでプロットを見ているので、そのまま保存したいと思います。次に、プロットをまだ生成していませんが、プロットコードを実行するときに、直接ディスクに保存したいと思います。
密接に関連する2つの質問と、それぞれに対する回答があります。
プロットを保存するには、次の手順を実行する必要があります。
png()
開きますbmp()
pdf()
dev.off()
プロットをpng
ファイルに保存するためのサンプルコード:
fit <- lm(some ~ model)
png(filename="your/file/location/name.png")
plot(fit)
dev.off()
これについては、グラフィック形式の(組み合わせた)ヘルプページ、、?png
および?bmp
の?jpeg
別?tiff
のヘルプページで説明されています?pdf
。
ただし、たとえば画面上のウィンドウのサイズを変更した場合など、画面上に直接プロットされた同じプロットに対して、画像がディスク上で異なって見える場合があることに注意してください。
lattice
プロットがいずれかによって作成されている場合、またはggplot2
プロットを明示的に印刷する必要がある場合は注意してください。これをより詳細に説明し、R FAQへのリンクもあるこの回答を参照してください:ggplotのqplotはソーシングで実行されません
dev.print(pdf, 'filename.pdf')
これにより、インタラクティブウィンドウに対して行ったサイズ変更を尊重して、画像が完全にコピーされます。この回答の最初の部分のように、pdf
などの他のファイルタイプに置き換えることができpng
ます。
Rでプロットを見続けたい場合は、別のオプションを使用することdev.copy
です:
X11 ()
plot (x,y)
dev.copy(jpeg,filename="plot.jpg");
dev.off ();
R であまりにも多くのプロット ウィンドウが乱雑になった場合は、 を使用graphics.off()
してすべてのプロット ウィンドウを閉じます。
ggplot2
推奨される保存方法を使用する場合は、 を使用することggsave
です。まず、呼び出すプロットを作成した後、プロットする必要がありますggsave
。
ggplot(...)
ggsave("plot.png")
画像の形式は、ファイル名に選択した拡張子によって決まります。追加のパラメータをggsave
、特にwidth
、height
、およびに渡すことができますdpi
。
このような
png('filename.png')
# make plot
dev.off()
またはこれ
# sometimes plots do better in vector graphics
svg('filename.svg')
# make plot
dev.off()
またはこれ
pdf('filename.pdf')
# make plot
dev.off()
そしておそらく他の人も。それらはすべてヘルプページにまとめてリストされています。
最初の質問については、dev.print
インタラクティブに作業する場合に最適だと思います。まず、プロットを視覚的に設定し、満足のいく結果が得られたら、現在のプロットをディスクに保存するよう R に依頼できます。
dev.print(pdf, file="filename.pdf");
pdf
などの他の形式に置き換えることができますpng
。
これにより、画面に表示されているとおりに画像がコピーされます。の問題dev.copy
は、画像がしばしば異なっており、ウィンドウのサイズと縦横比を覚えていないことです。デフォルトでは、プロットが強制的に正方形になります。
2番目の質問については(他の人がすでに回答しているように)、プロットコマンドを実行する前に出力をディスクに送信する必要があります
pdf('filename.pdf')
plot( yourdata )
points (some_more_data)
dev.off() # to complete the writing process and return output to your monitor
R Studio http://rstudio.org/を使用している場合は、プロットを好きな形式で任意の解像度で保存するための特別なメニューがあります。
Andriepng()
(最良の回答) が提案するようにbmp()
、、pdf()
などを使用してデバイスを開くと、プロットを含むウィンドウはポップアップ表示されず、*.png、*bmp、または *.pdf ファイルのみが作成されます。R は限られた数のグラフィック ウィンドウしか処理できないため、これは大規模な計算に便利です。
ただし、プロットを表示して保存したい場合はsavePlot(filename, type)
、プロットが描画され、それらを含むウィンドウがアクティブになった後に呼び出します。
これらの回答に追加するために、画面 (ネイティブ デバイス) へのプロットを生成する呼び出しを含む R スクリプトがある場合、これらはすべて pdf ファイル (非対話型シェルの既定のデバイス) "Rplots.pdf " (デフォルト名) スクリプトをターミナルから R にリダイレクトします (Linux または OS X を実行していると仮定します)。例:
R < myscript.R --no-save
これは、必要に応じて jpg/png に変換できます