我在试着绘制地图。我已经成功地安装了matplotlib、basemap和Pillow,并且可以绘制基本的绘图。下面的代码适用于我。在
from mpl_toolkits.basemap import Basemap
from PIL import Image
import matplotlib.pyplot as plt
m = Basemap(projection = 'mill',
llcrnrlat = -90,
llcrnrlon = -180,
urcrnrlat = 90,
urcrnrlon = 180,
resolution = 'c')
m.drawcoastlines()
#m.etopo()
plt.show()
但是,取消注释“etopo()”命令会产生以下错误。在
^{pr2}$我已经尝试过重新安装和更新所有相关的软件包,但是没有成功。对于这种情况,我也找不到任何关于这个错误的信息。我使用的是Windows8.1和32位的Python3.5.1
这似乎是basemap和最近的numpy版本之间的不兼容。建议的解决方案将恢复为默认投影,因为第一个关键字不是projection而是llcrnrlat。在
我还不知道到底是什么原因导致了索引错误,不过恢复到老版本的numpy是可行的。看来Numpy1.9.2是最新的工作版本。可能是因为concatenate命令更改了某些内容。在
编辑: 我更改了basemap/init.py中的第4167行,以获得与旧版本numpy相同的结果。它似乎起了作用:
现在不推荐使用沿1D数组和非零轴连接,这就是引发异常的原因。在
如果您只是测试
Basemap
和.etopo()
功能,我更新了您的脚本:相关问题 更多 >
编程相关推荐