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

如何将斐济地理边界多边形叠加到地震散点图中

如何将斐济地理边界多边形叠加到地震散点图中

嗨,我来帮你搞定这个叠加地图的问题~你已经完成了地震散点图的绘制,要把斐济的地理边界加进去其实超简单,只需要在你的ggplot代码里多添几步就行,我给你一步步拆解:

第一步:确保所需包都已安装加载

首先要确认你装了rnaturalearth包,如果没装的话先运行这行命令:

install.packages("rnaturalearth")

然后加载所有需要的包:

library(datasets)
library(ggplot2)
library(rnaturalearth)

第二步:准备数据

这部分你已经做了,我再把代码整合进来:

# 获取斐济区域的地震数据
quakes_df <- datasets::quakes

# 获取全球地理数据并提取斐济的边界
world <- rnaturalearth::ne_countries(scale = "medium", returnclass = "sf")
fiji <- subset(world, sovereignt == "Fiji", select = "geometry")

第三步:绘制叠加后的图

核心就是用geom_sf()把斐济的多边形图层加进去,注意图层顺序:先画多边形(底层),再画散点(上层),这样散点不会被地图挡住。我还加了一些优化让图更清晰:

my_plot <- ggplot() +
  # 绘制斐济边界多边形,设置填充色、边界色和透明度
  geom_sf(data = fiji, fill = "lightblue", color = "black", alpha = 0.3) +
  # 叠加地震散点图(和你原来的代码一致)
  geom_point(data = quakes_df, aes(lat, long, col = mag)) +
  # 震级颜色渐变设置(保留你原来的配置)
  scale_color_gradient(low = "green", high = "red", na.value = "black", 
                       breaks = seq(min(quakes_df$mag), max(quakes_df$mag), length.out = 4)) +
  # 增加标题和图例名称,让图更易懂
  labs(title = "斐济区域地震分布与地理边界", color = "震级") +
  # 用简洁的主题风格
  theme_minimal()

# 展示图
my_plot

额外优化建议

如果你想聚焦在斐济区域,避免显示多余的地图范围,可以加上坐标限制:

my_plot <- ggplot() +
  geom_sf(data = fiji, fill = "lightblue", color = "black", alpha = 0.3) +
  geom_point(data = quakes_df, aes(lat, long, col = mag)) +
  scale_color_gradient(low = "green", high = "red", na.value = "black", 
                       breaks = seq(min(quakes_df$mag), max(quakes_df$mag), length.out = 4)) +
  labs(title = "斐济区域地震分布与地理边界", color = "震级") +
  theme_minimal() +
  # 根据地震数据的经纬度范围设置聚焦区域
  coord_sf(xlim = c(160, 180), ylim = c(-30, -10))

my_plot

这样你就能清晰看到地震点和斐济岛屿的位置关系啦~

备注:内容来源于stack exchange,提问作者LulY

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 09:20:28