我有一份文件记录了5个气象站一个月来的降雨量。csv文件中有lat,lon和rain数据。我的档案就是这样的:
Out[18]:
lat lon rain
0 -48.379000 -1.067000 213.0
1 -48.435548 -1.401513 157.2
2 -48.482217 -1.449707 147.0
3 -48.457779 -1.249272 182.6
4 -48.479847 -1.308735 49.4
我想做的是:
^{pr2}$但当我试图运行时,我收到了一条错误消息:
/usr/local/lib/python3.5/dist-packages/mpl_toolkits/basemap/__init__.py:3608: MatplotlibDeprecationWarning: The ishold function was deprecated in version 2.0. b = ax.ishold() /usr/local/lib/python3.5/dist-packages/mpl_toolkits/basemap/__init__.py:3675: MatplotlibDeprecationWarning: axes.hold is deprecated.
See the API Changes document (http://matplotlib.org/api/api_changes.html)
for more details. ax.hold(b) Traceback (most recent call last):
File "<ipython-input-17-cb8133160e02>", line 4, in <module>
conf = m.contourf(xi, yi, zi, zorder=4, alpha=0.6, cmap='RdPu')
File "/usr/local/lib/python3.5/dist-packages/mpl_toolkits/basemap/__init__.py", line 521, in with_transform
return plotfunc(self,x,y,data,*args,**kwargs)
File "/usr/local/lib/python3.5/dist-packages/mpl_toolkits/basemap/__init__.py", line 3644, in contourf
xx = x[x.shape[0]/2,:]
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
我该怎么解决呢?在
代码中没有严重错误。 (1) 我怀疑(Lat,long)是相反的,因为所有的点都位于南大西洋。 (2) 数据文件中的内容在第一行不应该有额外的空格。在
这是数据。第一行没有多余的空格。在
下面是基于您的工作代码和生成的映射。 请注意,我注释掉了绘制土地特征的部分。它们对当前的数据毫无用处。在
^{pr2}$(编辑1) 使用上面相同的代码,但有两种不同的设置:
(1)Python 2.7.14/Basemap 1.1.0(conda forge)
(2)Python 3.5.4/Basemap 1.1.0(conda forge)
结果图在视觉上与下图相同, 左图像:设置1,右图像:设置2。在
相关问题 更多 >
编程相关推荐