【问题标题】:png() function in R fail to create png file with dimension larger than 3000x3000pxR中的png()函数无法创建尺寸大于3000x3000px的png文件
【发布时间】:2012-04-19 01:16:06
【问题描述】:

我尝试使用ggplot 和sp 生成一些地图,我有一个原始大小为3000+ x 3000+ 像素的底图,我也有一些2000+ x 2000+ 像素的底图。有趣的是,直到现在我仍然无法创建3000+ x 3000+ 像素 png 文件,因为 R 给了我以下错误:

Error in png(chart.filename, width = basemap.xlength, height = basemap.ylength,  : 
  unable to start png() device
In addition: Warning messages:
1: In png(chart.filename, width = basemap.xlength, height = basemap.ylength,  :
  Unable to allocate bitmap
2: In png(chart.filename, width = basemap.xlength, height = basemap.ylength,  :
  opening device failed

这是对 R 的限制吗?我怎么能度过难关?谢谢。

我正在使用带有 R 2.15.0 的 Win7。

【问题讨论】:

  • 这是什么操作系统,你能用可重现的代码重现错误吗?
  • 这不是 R 固有的限制:x <- runif(10000); y <- runif(10000); png("tmp.png",5000,5000); plot(x,y); dev.off() 在我的系统(Ubuntu 10.04、32 位、R-devel)上运行良好。创建的文件是640K。
  • 在 Win7 / R 2.15.0 上也适用于我。我有 8 GB 内存...

标签: r png ggplot2


【解决方案1】:

Unable to allocate bitmap 建议您有内存问题,所以我会尝试使用较小的分配,提供有关您的系统的详细信息和一些可重现的代码。

你所描述的对我有用——虽然我不建议实际运行它,因为它会创建一个非常浪费的文件:

png("a.png", width = 3000, height = 3000)
image(matrix(rnorm(3000*3000), 3000), useRaster = TRUE)
dev.off()

【讨论】:

    猜你喜欢
    • 2013-12-23
    • 2018-06-15
    • 2011-08-18
    • 1970-01-01
    • 2016-12-29
    • 2013-03-17
    • 2012-06-17
    • 1970-01-01
    • 2021-08-26
    相关资源
    最近更新 更多