matplotlib Cartopy范围问题(free():无效的大小)

mzsu5hc0  于 2022-12-13  发布在  其他
关注(0)|答案(2)|浏览(236)

我正在使用Cartopy,我很难解决这个问题free(): invalid size。当我设置Map范围时,它发生了。

extents = [-13, 44, 34, 63] # Europe
proj = cartopy.crs.PlateCarree(central_longitude=(extents[1]-extents[0])/2)
ax = fig.add_subplot(
    nrows,
    ncols,
    index,
    projection=proj,
)
ax.set_extent(extents=extents, crs=proj)

我尝试了几个函数,如pyplot.subplotpyplot.axes,但似乎都没有帮助。
你能给我解释一下这个错误是什么以及如何解决它吗?

编辑:

在这里你可以找到我正在使用的软件包列表:

Cartopy==0.20.2
  - matplotlib [required: >=3.1, installed: 3.5.1]
    - cycler [required: >=0.10, installed: 0.11.0]
    - fonttools [required: >=4.22.0, installed: 4.29.1]
    - kiwisolver [required: >=1.0.1, installed: 1.3.2]
    - numpy [required: >=1.17, installed: 1.21.5]
    - packaging [required: >=20.0, installed: 21.3]
      - pyparsing [required: >=2.0.2,!=3.0.5, installed: 3.0.7]
    - pillow [required: >=6.2.0, installed: 9.0.1]
    - pyparsing [required: >=2.2.1, installed: 3.0.7]
    - python-dateutil [required: >=2.7, installed: 2.8.2]
      - six [required: >=1.5, installed: 1.16.0]
  - numpy [required: >=1.18, installed: 1.21.5]
  - pyproj [required: >=3.0.0, installed: 3.3.0]
    - certifi [required: Any, installed: 2021.10.8]
  - pyshp [required: >=2.1, installed: 2.2.0]
  - shapely [required: >=1.6.4, installed: 1.8.1.post1]
92dk7w1h

92dk7w1h1#

我也遇到了同样的问题,把shapely的版本从1.8.1.post1改为1.7.1就解决了这个问题

nfg76nw0

nfg76nw02#

https://github.com/SciTools/cartopy/issues/2006所述,只有shapely 1.8.1(和1.8.1.post1)* 在 * 安装了轮子(pip的标准行为)时才会出现此问题。
按照greglucas在问题中的说明,通过pip install --upgrade --no-binary shapely shapely安装。

相关问题