使用rnaturalearth绘制国家州级地图及scale参数报错解决
不依赖sp包绘制西班牙州级地图的解决方法
问题原因
你遇到的报错是因为ne_states()函数不支持scale参数,该参数仅适用于ne_countries();同时原代码通过geounit过滤的方式不够精准,直接指定目标国家更高效。
正确实现代码
无需依赖sp包,只需调整ne_states()的调用参数即可:
# 加载所需包(需提前安装sf、ggplot2、rnaturalearth) library(sf) library(ggplot2) library(rnaturalearth) # 获取西班牙州级行政区划数据并绘制地图 ne_states(country = "Spain", returnclass = 'sf') %>% ggplot() + geom_sf() + theme_void()
关键说明
ne_states()通过country参数直接指定目标国家,返回的就是对应国家的州级行政区划sf对象,无需额外过滤returnclass = 'sf'确保返回的是sf格式数据,可直接与ggplot2::geom_sf()配合使用- 整个流程完全基于sf和ggplot2生态,不需要依赖sp包
内容的提问来源于stack exchange,提问作者user1393214
相关产品推荐
相关产品推荐

