我正在尝试使用image()绘制并保存矩阵,没有轴,标签,边距等。我需要的是纯彩色图像,其中单元格的数量将与保存的图中像素的数量相对应。在R图形设备上看起来不错,但是如果我将图保存到文件中,则在图像的底部和右侧始终存在一个像素宽的白色边距。我尝试了所有格式,但未成功。我正在使用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()

最佳答案

我要继续,假设您使用的是Windows。 png似乎默认使用WindowsGDI设备进行绘图。通过设置type = "cario"来代替cairographics ...

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

边界消失了。为何在WindowsGDI设备上发生这种情况的答案很可能会在 grDevices::windows 帮助页面上找到...

关于r - 无法消除绘图的一像素宽的白色边距(底部和右侧),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19356350/

10-13 08:36