8

PDFプロットをpngまたはjpegファイルに変換しようとしています。その理由は、プレゼンテーションに画像を使用したいので、まったく同じサイズ/スケーリングを持つ両方の形式が必要だからです。

アニメーション パッケージで関数 im.convert() を試しましたが、png と jpeg の両方で出力が非常に悪く見えます。

次のコードを実行するには、「アニメーション」パッケージと ImageMagick ソフトウェア ( http://www.imagemagick.org/script/convert.php )が必要です。

library("animation")
ani.options(outdir = getwd())

pdf("bm.pdf")
plot(1:10)
dev.off()

im.convert("bm.pdf", output = "bm.jpeg")
im.convert("bm.pdf", output = "bm.png")
4

1 に答える 1

13

の結果im.convertは、既定の解像度である 74 dpi を使用しているため、おそらく満足できるものではありません。追加のパラメーターを渡すことで、解像度を上げることができます。

im.convert("bm.pdf", output = "bm.png", extra.opts="-density 150")

-density 150解像度が 2 倍になり、PNG と JPEG の見栄えが良くなります。

しかし、一般的には、 を使用してプロットを生成し、適切なパラメーターを使用して と同じ結果を得る方がおそらく良いpng()でしょjpeg()pdf()。例えば:

pdf(width=5, height=5)
plot(1:10)
dev.off() 

png(width=5, height=5, units="in", res=150) 
plot(1:10)
dev.off()
于 2013-09-04T15:21:18.200 に答える