You need to enable JavaScript to run this app. 使用Cartopy按站点高程条件分色绘制散点地图的方法
优惠活动
大模型
产品
解决方案
定价
更多

使用Cartopy按站点高程条件分色绘制散点地图的方法

按高程分色的Cartopy散点实现方案

所有判断逻辑都放在完成站点属性数组提取之后、正式调用plt.scatter绘图之前完成即可,不需要改动已经写好的读取和基础绘图逻辑。

推荐实现:NumPy布尔索引分组(高效适配大样本)

向量化运算没有循环开销,站点量上万也能保持流畅速度。实现时需要注意将高程阈值区间拆分为互斥范围,避免重叠条件导致同一站点被多次渲染、颜色互相覆盖。

# 在提取完四个站点数组后添加分组逻辑
# 区间拆分(按分色规则):
# 1. 高程 <0:黑色
# 2. 5m < 高程 ≤10m:绿色
# 3. 10m < 高程 ≤15m:红色
# 4. 高程 >15m:蓝色
mask_under0 = StationListElev < 0
mask_5to10 = (StationListElev > 5) & (StationListElev <= 10)
mask_10to15 = (StationListElev > 10) & (StationListElev <= 15)
mask_over15 = StationListElev > 15

# 逐组绘制散点,完全复用原有代码的点大小、透明度、投影设置
plt.scatter(StationListLon[mask_under0], StationListLat[mask_under0],
            color="black", s=1, alpha=0.5, transform=crs.PlateCarree())
plt.scatter(StationListLon[mask_5to10], StationListLat[mask_5to10],
            color="green", s=1, alpha=0.5, transform=crs.PlateCarree())
plt.scatter(StationListLon[mask_10to15], StationListLat[mask_10to15],
            color="red", s=1, alpha=0.5, transform=crs.PlateCarree())
plt.scatter(StationListLon[mask_over15], StationListLat[mask_over15],
            color="blue", s=1, alpha=0.5, transform=crs.PlateCarree())

简易实现:循环生成颜色映射列表(适合小样本快速调试)

站点量不大的场景下,逐点判断高程所属区间,生成与站点一一对应的颜色列表,单次调用scatter即可完成绘制,逻辑更直观。

color_list = []
for elev in StationListElev:
    if elev < 0:
        color_list.append("black")
    elif elev > 15:
        color_list.append("blue")
    elif elev > 10:
        color_list.append("red")
    elif elev > 5:
        color_list.append("green")
    # 补充规则未覆盖的区间:0<=高程<=5,使用原有默认的dodgerblue
    else:
        color_list.append("dodgerblue")

# 单次调用scatter传入颜色列表
plt.scatter(StationListLon, StationListLat,
            c=color_list, s=1, alpha=0.5, transform=crs.PlateCarree())

注意事项

  • 不要在原有scatter调用完成后再追加判断逻辑,所有分组操作提前完成,避免重复渲染
  • 最初设定的分色规则存在区间重叠问题:如果仅写elev<0、elev>5、elev>10、elev>15四个独立判断,高程超过15m的站点会同时被三个条件命中,多次叠加绘制,最终显示的颜色会被最后一次渲染的图层覆盖,必须将区间做互斥拆分
  • 按现有规则,0<=高程<=5的站点不在分色范围内,建议补充默认配色,否则这部分站点不会被绘制

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.06 13:15:04