You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 09:22:16