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

如何在Cartopy主地图的右上角嵌入另一幅Cartopy小地图

如何在Cartopy主地图的右上角嵌入另一幅Cartopy小地图

嘿,这事儿不难!你可以借助Matplotlib的内嵌坐标轴功能,把小地图直接放到主地图的右上角。我把你的两段代码整合并修改成了完整的实现方案,一起来看看:

首先,我们需要补全所有必要的导入(你原来的代码里漏了几个关键库):

import matplotlib.pyplot as plt
import cartopy.crs as ccrs
# 记得确保df1已经被正确导入哦,比如通过pandas读取数据

然后是完整的代码实现:

# 设置主地图的Mercator投影,调整阈值让海岸线更平滑
use_proj = ccrs.Mercator()
use_proj._threshold /= 20.

# 创建主画布和主地图坐标轴
fig, ax1 = plt.subplots(1, 1, 
                        subplot_kw={'projection': use_proj}, 
                        figsize=(7,7), 
                        gridspec_kw={'wspace': 0.2, 'hspace': 0.2})

# 绘制主地图内容
ax1.set_extent([-50.0, 45.0, 30.0, 70.0])
ax1.coastlines('50m', color='black')
# 绘制蓝色矩形区域
ax1.plot([-19, 40, 40, -19, -19], [35, 35, 73, 73, 35],
         color='blue', linewidth=2.5,
         transform=ccrs.PlateCarree(), label='Pressure')
# 绘制红色温度点
ax1.scatter(x=12.5683, y=55.6761,
            color="red",
            s=12,
            alpha=0.9,
            transform=ccrs.PlateCarree(), label='Temperature')

# 创建右上角的内嵌小坐标轴:参数是[左位置, 下位置, 宽度, 高度],数值为相对主坐标轴的比例
ax_inset = ax1.inset_axes([0.7, 0.7, 0.25, 0.25], projection=ccrs.Mercator())

# 绘制小地图的细节内容
ax_inset.set_extent([10, 15, 54, 57])
ax_inset.coastlines('10m', color='black')  # 用更高分辨率的海岸线展示细节
# 绘制蓝色散点
ax_inset.scatter(x=df1.longitude, y=df1.latitude,
                 color="dodgerblue",
                 s=12,
                 alpha=0.9,
                 transform=ccrs.PlateCarree())

# 可选:添加主地图与小地图的区域连接线,让读者清晰看到小地图对应的放大区域
ax1.indicate_inset_zoom(ax_inset, edgecolor='red')

# 显示图例和图像
ax1.legend()
plt.show()

关键部分说明:

  • ax1.inset_axes([0.7, 0.7, 0.25, 0.25], projection=ccrs.Mercator()):这行是核心,前两个参数0.7,0.7定位小轴左下角在主轴70%宽、70%高的位置,后两个0.25,0.25设置小轴尺寸为主轴的25%,刚好落在右上角;同时指定Mercator投影,保证坐标系统统一。
  • ax1.indicate_inset_zoom(ax_inset, edgecolor='red'):这个可选功能会在主地图上画出小地图对应的矩形范围,并用红线连接到小地图,直观展示放大区域的对应关系。
  • 小地图用了10m分辨率的海岸线,比主地图的50m更精细,符合局部放大的需求。

如果需要调整小地图的位置或大小,只需要修改inset_axes的四个比例参数就行啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 15:32:38