在Python3.6中使用Basemap1.0.7
我正在使用m.contourf()表单basemap()创建填充等高线图。由于某种原因,自从我升级到Python3.6并升级了我的包numpy、scipy pandas等之后,我一直收到这个错误。但它在Python2.7中运行良好 错误在Python3.6中使用Basemap1.0.7,python,matplotlib,matplotlib-basemap,Python,Matplotlib,Matplotlib Basemap,我正在使用m.contourf()表单basemap()创建填充等高线图。由于某种原因,自从我升级到Python3.6并升级了我的包numpy、scipy pandas等之后,我一直收到这个错误。但它在Python2.7中运行良好 错误 Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Users/karthik/Documents/code/test_cou
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/karthik/Documents/code/test_countourf.py", line 99, in <module>
map.contourf(x, y, _arr, zorder = 0, cmap = _cmap, norm = cNorm, levels=levels)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/mpl_toolkits/basemap/__init__.py", line 521, in with_transform
return plotfunc(self,x,y,data,*args,**kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-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行,在
文件“/Users/karthik/Documents/code/test_countourf.py”,第99行,在
轮廓图(x,y,_arr,zorder=0,cmap=_cmap,norm=cNorm,levels=levels)
文件“/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site packages/mpl_工具包/basemap/__init___;.py”,第521行,带_u转换
返回plotfunc(self、x、y、data、*args、**kwargs)
文件“/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site packages/mpl_toolkit/basemap/_init___;.py”,轮廓图第3644行
xx=x[x.shape[0]/2,:]
索引器错误:只有整数、片(`:`)、省略号(`…`)、numpy.newaxis(`None`)和整数或布尔数组是有效的索引
我怀疑x.shape[0]/2给出的是一个浮点(因为我认为是Python 3),而不是一个整数,这可能是一个错误,因为我没有看到Python 2.7中的错误
有没有关于如何在Python 3.6中修复它的想法
谢谢 您可以将
x.shape[0]/2
替换为x.shape[0]/2
,作为快速修复。通常,您可能需要更新matplotlib和basemap。看起来Github回购协议比该版本提前发布。谢谢