我在 Ubuntu 16.4 上使用 Python 3.6.1 64 位、Qt 5.6.2、PyQt5 5.6,Basemap 版本为 1.0.7,matplotlib 2.0.2。当我尝试使用带有basemap的轮廓时,使用投影“cyl”,例如:
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import numpy as np
map = Basemap(projection='cyl',lat_0=45,lon_0=-100,resolution='c')
nlats = 73; nlons = 145; delta = 2.*np.pi/(nlons-1)
lats = (0.5*np.pi-delta*np.indices((nlats,nlons))[0,:,:])
lons = (delta*np.indices((nlats,nlons))[1,:,:])
wave = 0.75*(np.sin(2.*lats)**8*np.cos(4.*lons))
mean = 0.5*np.cos(2.*lats)*((np.sin(2.*lats))**2 + 2.)
x, y = map(lons*180./np.pi, lats*180./np.pi)
cs = map.contour(x,y,wave+mean,15,linewidths=1.5)
plt.show()
我收到以下错误:
回溯(最近一次通话最后):
文件“”,第 15 行,在 cs = map.contour(x,y,wave+mean,15,linewidths=1.5)
文件“/home/gab/anaconda3/lib/python3.6/site-packages/mpl_toolkits/basemap/init .py ”,第 521 行,在 with_transform return plotfunc(self,x,y,data,*args,**kwargs )
文件“/home/gab/anaconda3/lib/python3.6/site-packages/mpl_toolkits/basemap/init .py ”,第 3542 行,轮廓 xx = x[x.shape[0]/2,:]
IndexError:只有整数、切片 (
:
)、省略号 (...
)、numpy.newaxis (None
) 和整数或布尔数组是有效的索引
如果我使用例如投影“正交”,则不会发生此错误。我在 Python 2.6 上运行这段代码没有问题。这个问题似乎和这个问题一样,没有回答。
有任何想法吗?