2

我希望将带有栅格的地图导出为 .pdf 或其他矢量文件。出于某种原因,当我将其保存为 .pdf 或 .ps 文件时,光栅会变得模糊/模糊/模糊且无法使用。解决此问题的任何提示?.png 以所需的分辨率保存,但不能在后期处理中逐层操作。

library(maps)
library(raster)

ra<-raster(nrows=40,ncols=35,xmn=-110,xmx=-75,ymn=7,ymx=47)
ra2 <- rasterize(cbind(runif(1000,min=-109,max=-76),runif(1000,min=8,max=46)), ra,fun=function(x,...)log10(length(x)))
pal <- colorRampPalette(c("grey90","grey40"))
map(database="world",regions=c("US","Mexico","El Salvador","Honduras","Costa Rica","Guatemala","Belize","Nicaragua","Panama"),myborder=0.0000001,xlim=c(-110,-75),ylim=c(0,50))
plot(ra2,add=T,col=pal(7))

这是保存的 .pdf 文件
的屏幕截图 这是具有所需分辨率的 Quartz 窗口的屏幕截图

4

2 回答 2

2

我刚刚发现在 plot() 函数中添加 'useRaster=FALSE' 可以解决这个问题。

于 2020-04-08T11:27:04.470 回答
1

您可以使用以下代码将高分辨率图像保存为 pdf 文件

pdf(file = "My Plot.pdf",   
    width = 14, # The width of the plot in inches
    height = 8.5) # The height of the plot in inches

pal <- colorRampPalette(c("grey90","grey40"))
map(database="world",regions=c("US","Mexico","El Salvador","Honduras","Costa Rica","Guatemala","Belize","Nicaragua","Panama"),myborder=0.0000001,xlim=c(-110,-75),ylim=c(0,50))
plot(ra2,add=T,col=pal(7))

#Run dev.off() to create the file!
dev.off()
于 2020-04-02T11:31:18.843 回答