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

Basemap绘图仅显示一半南极洲问题排查咨询

Basemap绘制仅显示一半南极洲的解决方案

该问题是Basemap 1.2.2版本的已知兼容问题,与安装包本身无关——Basemap早已停止维护,你当前环境使用的numpy 1.22.3、matplotlib 3.5.2版本都超出了其最后适配的版本范围,浮点计算、路径渲染逻辑的变动会触发南极区域的岸线裁剪bug,按以下优先级尝试方案即可:

  • 最快临时修复:初始化Basemap实例时,不要将南纬边界设为-90,手动调整为-89.999,规避跨极点的路径裁剪异常,示例代码如下:
from mpl_toolkits.basemap import Basemap
# 以圆柱投影为例,其他投影类型同理调整南边界参数即可
m = Basemap(
    projection='cyl',
    llcrnrlon=-180,
    llcrnrlat=-89.999,  # *不要设置为-90*
    urcrnrlon=180,
    urcrnrlat=90,
    resolution='l'
)
m.drawcoastlines()

90%以上的场景调整这个参数后就能正常显示完整南极洲。

  • 长期稳定修复:将依赖库降级到Basemap 1.2.2官方适配的版本范围,执行以下命令安装对应版本即可:
pip install numpy==1.21.6 matplotlib==3.3.4

降级完成后不需要修改原有业务代码,使用默认参数也能正常渲染完整南极大陆。

  • 不降级依赖的备选方案:手动补绘被裁剪的南极大陆多边形,在执行drawcoastlines()方法后,手动读取Basemap自带GSHHS岸线数据中的南极洲多边形,补绘缺失的部分即可,操作相对繁琐,非必要不推荐。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 12:06:26