5

image()軸、ラベル、マージンなどを使用せずにマトリックスをプロットして保存しようとしています。必要なのは、セルの数が保存されたプロットのピクセル数に対応する純粋な色の画像です。R グラフィックス デバイスでは問題ないように見えますが、プロットをファイルに保存すると、画像の下部と右側に常に 1 ピクセル幅の白い余白が残ります。すべての形式を試しましたが、成功しませんでした。画像加工にはGIMPを使用しています。

コード例:

png("heatmap.png",w=400,h=400)
par(mar = c(0,0,0,0))
require(grDevices) # for colours
x <- y <- seq(-4*pi, 4*pi, len=400)
r <- sqrt(outer(x^2, y^2, "+"))
image(z = z <- cos(r^2)*exp(-r/6), col=gray((0:32)/32),axes = FALSE)
dev.off()
4

2 に答える 2

7

Windows を使用していると仮定します。pngデフォルトでデバイスを使用しWindowsGDIてプロットするようです。設定して、代わりにカイログラフィックスを使用してくださいtype = "cario"...

png("heatmap.png",w=400,h=400 , type="cairo" )

ここに画像の説明を入力

国境が消える。デバイスでこれが発生する理由についての答えはWindowsGDI、ヘルプ ページにある可能性がありgrDevices::windowsます...

于 2013-10-14T09:22:28.187 に答える
3

引数 を使用するuseRaster=TRUEと、問題は解決されます。

png("heatmap.png",w=400,h=400)
par(mar = c(0,0,0,0))
require(grDevices) # for colours
x <- y <- seq(-4*pi, 4*pi, len=400)
r <- sqrt(outer(x^2, y^2, "+"))
z <- cos(r^2)*exp(-r/6)
image(z, col=gray((0:32)/32), axes=FALSE, useRaster=TRUE)
dev.off()

ここに画像の説明を入力

于 2013-10-14T09:13:21.690 に答える