如图所示,无法将 gplot 保存到 R 中的文件

Posted

技术标签:

【中文标题】如图所示,无法将 gplot 保存到 R 中的文件【英文标题】:Unable to save gplot to file in R as displayed 【发布时间】:2017-06-06 15:17:53 【问题描述】:

我使用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】:

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

【讨论】:

感谢您的回答。我已经试过了,那么分辨率很好。但是标题,图例等的字体大小相对较小。我无法改变这一点(不使用 par,也没有任何相应的 gplot 参数)。

以上是关于如图所示,无法将 gplot 保存到 R 中的文件的主要内容,如果未能解决你的问题,请参考以下文章

iphone手机复制视频到电脑显示连接的设备没有发挥作用是怎么回事

matlab文件怎么从2016b导成2016a

如何使用 R 中 gplot() 包中的 plotmean() 函数使用 paste0() 操作 n.label 值以获得观察次数

怎样将word,excel文件转换为PDF文件

R:如何:使用 gplot 和 geom_density 的 3d 密度图

无法在 R 中使用 get() 保存表