使用ggplot2绘制瑞士地图时点位显示异常的技术求助
解决瑞士地图点位展示错误的问题
我帮你梳理下问题的核心原因和解决办法,一步步来修正:
1. 最关键的错误:坐标映射颠倒了
你在geom_point里写了aes(x=lat, y=lon),但实际上经度(lon)对应x轴,纬度(lat)对应y轴,这直接导致所有点位的位置完全错乱!把这一行修正过来,就能解决大部分问题:
geom_point(data=de, aes(x=lon, y=lat), color="orange")
2. 处理缺失的经纬度值
你的de数据里存在NA的lon/lat值,这些点不仅无法正确显示,还可能干扰绘图逻辑,建议提前过滤掉:
# 移除包含缺失经纬度的行 de_clean <- de[!is.na(de$lon) & !is.na(de$lat), ]
之后用清理后的de_clean来绘制点位即可。
3. 确保地图与点位的坐标系一致
从你的de数据来看,它用的是WGS84经纬度(EPSG:4326,符合瑞士的经纬度范围),但swissmap包的shp_df[[6]]可能采用的是瑞士本地坐标系(比如LV95/LV03)。如果修正坐标映射后点位还是不对,需要把地图数据转换为WGS84:
# 假设da是sp对象,转换坐标系到WGS84 da_wgs84 <- spTransform(da, CRS("+init=epsg:4326")) # 转成ggplot可用的data.frame格式 da_df <- fortify(da_wgs84)
更推荐用sf包处理空间数据,操作会更简洁:
library(sf) # 读取瑞士地图并转换为WGS84坐标系 da_sf <- st_read(system.file("shapefiles/your_shapefile.shp", package="swissmap")) %>% st_transform(4326) # 绘图时用geom_sf更省心 ggplot() + geom_sf(data=da_sf, fill="lightgray", color="white") + geom_sf(data=st_as_sf(de_clean, coords=c("lon", "lat"), crs=4326), color="orange")
4. 优化地图可视化效果
可以给地图添加填充色和边界线,让地图更清晰,同时调整坐标比例、简化主题:
ggplot() + # 绘制瑞士地图,设置填充和边界样式 geom_polygon(data=da_df, aes(x=long, y=lat), fill="lightgray", color="white", linewidth=0.2) + # 绘制点位,用清理后的数据,调整大小和透明度 geom_point(data=de_clean, aes(x=lon, y=lat), color="orange", size=2, alpha=0.7) + # 保持正确的坐标比例 coord_fixed(ratio=1.3) + # 移除不必要的坐标轴元素 theme_minimal() + theme(axis.text=element_blank(), axis.title=element_blank())
完整修正后的示例代码
# 加载所需包 library(rgdal) library(maptools) library(ggplot2) library(plyr) library(maps) library(ggmap) # 获取并转换瑞士地图数据到WGS84 da <- shp_df[[6]] da_wgs84 <- spTransform(da, CRS("+init=epsg:4326")) da_df <- fortify(da_wgs84) # 清理点位数据 de_clean <- de[!is.na(de$lon) & !is.na(de$lat), ] # 绘制最终地图 ggplot() + geom_polygon(data=da_df, aes(x=long, y=lat), fill="lightgray", color="white") + geom_point(data=de_clean, aes(x=lon, y=lat), color="orange", size=2) + coord_fixed(1.3) + theme_minimal() + theme(axis.text = element_blank(), axis.title = element_blank())
如果修正后仍有问题,可以检查da的坐标系信息,确认和de的经纬度系统是否匹配。
内容的提问来源于stack exchange,提问作者r tremeaud
相关产品推荐
相关产品推荐

