【问题标题】:Using basemap fillcontinents with color causes error使用带颜色的底图填充大陆会导致错误
【发布时间】:2022-11-11 07:50:02
【问题描述】:

软件包版本:

basemap : 1.2.2
matplotlib : 3.5.1
GEOS : 3.9.1

使用此代码,我得到以下地图,其中 fillcontinents 不包括南极地区:

from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt

m = Basemap(projection='cyl',llcrnrlat=-90,urcrnrlat=90,\
            llcrnrlon=-180,urcrnrlon=180,resolution='c')
m.drawcoastlines()
m.fillcontinents(color='grey')
plt.show()

【问题讨论】:

    标签: matplotlib-basemap


    【解决方案1】:

    目前(2022 年 4 月 22 日),basemap 仅适用于 GEOS < 3.9(请参阅basemap #522)。已知南极洲的这个问题会在 GEOS >= 3.9 时出现。在错误解决之前,GEOS 降级应该可以解决您与南极洲海岸线的问题。

    编辑(2022-10-26):basemap 1.3.5版本开始,解决了绘制南极洲相关的bug。 PyPI 中的预编译轮子仍然链接到 GEOS 3.5.1,但从源代码分发安装的用户将能够将 basemap 链接到 GEOS >= 3.9,现在南极洲也可以正确绘制为 OP 的情况。

    【讨论】:

      【解决方案2】:

      感谢@molinav 通过将 GEOS 从 3.9 降级到 3.8.1 解决了问题

      pip install geos==3.8.1
      

      现在地图看起来像这样:

      【讨论】:

      • 如果有帮助,您可以考虑接受答案。 ;-)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多