我使用gplot
和rasterVis
(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()
任何帮助表示赞赏!
答案 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()