我有以下代码来测试 etopo() 底图:

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

fig=plt.figure(figsize=(8,8))

m = Basemap(
           projection='merc', 
           resolution=None,
           llcrnrlon=20,
           llcrnrlat=0,
           urcrnrlon=80,
           urcrnrlat=50)
m.etopo()
plt.show()

Basemaps似乎存在问题,因为它不断向我发送错误消息:


在文件“C:\ WinPython-64bit-3.4.4.2 \ python-3.4.4.amd64 \ lib -packages \ mpl_toolkits \ basemap__init __ . py“,第4061行,在etopo中返回self.warpimage(image ='etopo',scale = scale,** kwargs)文件”C:\ WinPython-64bit-3.4.4.2 \ python-3.4 .4.amd64 \ lib \ site-packages \ mpl_toolkits \ basemap__init __ . py“,第4231行,在warpimage im = self.imshow(self._bm_rgba_warped,ax = ax,** kwargs)文件”C:\ WinPython-64bit- 3.4.4.2 \ python-3.4.4.amd64 \ lib \ site-packages \ mpl_toolkits \ basemap__init __ . py“,第3341行,在imshow ax.hold(b)NameError:名称'b'未定义


无论我是否将参数放入 etopo() 功能中 . 无论我尝试什么,我得到这个消息 . Basemap 1.0.8处理这类 Map 有什么问题吗?为bluemarble和shadedrelief获得相同的错误 . 它确实显示了 Map ,但我无法在其上绘制任何数据或位置标记 . 我想这可能与错误有关?!

任何人都知道这里发生了什么以及如何解决它?不同的底图版本?

谢谢 .