无法将gplot保存到显示的R中的文件中

时间:2017-06-06 15:17:53

标签: r plot save raster

我使用gplotrasterVis(gplot的包装器)制作了一个RasterLayer图。为了以全分辨率显示光栅输出,我必须设置gplot参数maxpixels = 10000000。 尽管R中的光栅分辨率看起来很好,但当我尝试将其写入文件时,图像再次被下采样到标准分辨率。按照我使用的代码:

png(paste0(pathAndFilename, ".png"))

gplot(myRaster, maxpixels = 10000000) +
    geom_raster(aes(fill = factor(value))) +
    scale_fill_manual(values=c(someColors), legendSpecs) +
    coord_equal() +
    labs(title = "SomeTitle", x = "Lng", y = "Lat")

dev.off()

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

在png()函数的帮助下,它说:

png(filename = "Rplot%03d.png",
    width = 480, height = 480, units = "px", pointsize = 12,
    bg = "white", res = NA, family = "", restoreConsole = TRUE,
    type = c("windows", "cairo", "cairo-png"), antialias)

所有具有相同符号和值的参数都有默认值,以防您明确提及。将宽度和高度设置为您要打印的光栅中的正确数字,您将不会进行任何重新采样。

你可能想要这样的东西:

png(paste0(pathAndFilename, ".png"), width = ncol(myRaster), height = nrow(myRaster))

gplot(myRaster, maxpixels = 10000000) +
    geom_raster(aes(fill = factor(value))) +
    scale_fill_manual(values=c(someColors), legendSpecs) +
    coord_equal() +
    labs(title = "SomeTitle", x = "Lng", y = "Lat")

dev.off()