如何将rworldmap包绘制的R语言地图导出为PNG格式?
嘿,很高兴你对自己绘制的地图效果满意!要把这幅地图导出成PNG格式,R里有两种简单好用的方法,我给你详细说明下:
方法1:用代码批量/精准导出(推荐)
这是最适合脚本化操作的方式,你只需要在执行绘图代码之前先开启PNG设备,绘图完成后关闭设备即可。修改后的完整代码如下:
# 第一步:开启PNG设备,自定义保存参数 png("fta_map.png", width = 800, height = 600, res = 150) # 参数说明: # - "fta_map.png"是保存的文件名,可加完整路径(比如"C:/Maps/fta_map.png") # - width/height是图片像素尺寸,res是分辨率(dpi),数值越高越清晰 # 第二步:运行你的绘图代码(注意修正了原数据框的重复列名问题) library(rworldmap) fta.df <- data.frame(country = c("CAN", "MEX", "USA"), value = c(1,2,3)) # 原代码里两个country列会报错,改成value列 MyMap <- joinCountryData2Map(fta.df, joinCode = "ISO3", nameJoinColumn = "country") MyMap <- subset(MyMap, continent != "Antarctica") FTA_map <- mapCountryData(MyMap, nameColumnToPlot="value", catMethod = "categorical", missingCountryCol = gray(.8), colourPalette=c("forestgreen","royalblue1", "red3"), mapTitle = "", addLegend = FALSE) FTA_map$legendText <- c("CAN", "MEX", "USA") do.call( addMapLegendBoxes, c(FTA_map,x="bottomleft",title = "Country",horiz=FALSE)) # 第三步:关闭PNG设备,完成导出 dev.off()
⚠️ 小提醒:原代码里的fta.df有两个同名的country列,这会导致后续绘图逻辑混乱,我已经把第二列改成了value,你可以根据实际需求调整列名。
方法2:RStudio手动导出(适合快速操作)
如果你用的是RStudio,也可以直接手动导出:
- 绘制完地图后,找到右下角的Plots面板
- 点击面板上方的「Export」按钮,选择「Save as PNG」
- 在弹出的窗口里设置文件名、保存路径、尺寸和分辨率,点击「Save」就搞定了
两种方法各有优势:代码导出适合需要重复执行、参数统一的场景;手动导出则适合临时快速保存。
内容的提问来源于stack exchange,提问作者TeYaP
相关产品推荐
相关产品推荐

