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

如何解决R语言ggplot绘制世界地图时data必须为数据框的报错

错误根源

你给ggplot传入的df1不符合数据格式要求,问题出在df1 <- data(world2MapEnv)这行代码:
data()函数的作用是将指定数据集加载到当前运行环境,它的返回值是加载成功的数据集名称的字符向量,而非数据集本身,你把字符向量传入ggplot的data参数自然会触发类型错误。同时你的原代码遗漏了ggplot2包的加载,这也是潜在的运行报错点。

解决方法

用map_data()函数直接将maps包内置的地图数据转为ggplot可识别的数据框格式,修正后的完整可运行代码如下:

# 首次运行需要先安装依赖包,安装完成后可注释掉以下三行
# install.packages("mapdata")
# install.packages("maps")
# install.packages("ggplot2")

# 加载依赖包
library(maps)
library(mapdata)
library(ggplot2)

# 提取世界地图数据,转为数据框格式
df1 <- map_data("world2")

# 绘图逻辑
p <- ggplot(data = df1,
            aes(x = long, y = lat,
                group = group, fill = region))

p + geom_polygon(color = "gray90", size = 0.1) + guides(fill = FALSE)

运行上述代码即可成功生成基础世界地图。

内容的提问来源于stack exchange,提问作者Rhedavetester

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 04:54:00