Piksel

2013-10-14 35 views
5

1 piksel genişliğinde beyaz kenar boşluklarından kurtulmak yok, matrisimi image() kullanarak hiçbir eksen, etiket, kenar boşluğu vb. Kullanarak çizmeye ve kaydetmeye çalışıyorum. Kaydedilen arsadaki hücre sayısına karşılık gelen görüntü sayısı. R grafik aygıtında iyi görünüyor, ancak çizimi dosyaya kaydettiğimde, görüntünün alt ve sağ tarafında her zaman bir piksel genişliğinde beyaz kenar boşlukları kalır. Tüm formatları denedim ama başarılı olmadı. Görüntü manipülasyonu için GIMP kullanıyorum.Piksel

örnek kod:

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() 
+1

Bunun gibi bir hata raporu var gibi görünüyor. – Thomas

+1

@Thomas ama hata * WindowsGDI' sürücüsünde olabilir mi? (R çekirdeği için bir hata raporu hazırladığınızı varsayıyorum) –

cevap

3

argüman useRaster=TRUE kullanarak, sorun çözülene:

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() 

enter image description here

7

devam edip Windows üzerinde olduğunu varsayıyorum edeceğim. png, varsayılan olarak çizim yapmak için WindowsGDI aygıtını kullanıyor gibi görünüyor.

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

enter image description here

sınır kaybolur ... type = "cario" ayarlayarak yerine cairographics kullanın. Bunun neden WindowsGDI cihazında göründüğüne ilişkin cevabı grDevices::windows yardım sayfasında bulabilirsiniz ...

+0

+1 - bu seçenek daha genel olarak uygulanabilir - "useRaster = TRUE" seçeneği "Izgara düzenli olmalı ..." seçeneğini gerektirir. –

+0

@Marcinthebox yine de WindowsGDI cihazından gelen garip davranışlar sayesinde. –