Я использую Python 3.6.1 64 бита, Qt 5.6.2, PyQt5 5.6 на Ubuntu 16.4 с версией базовой карты 1.0.7, matplotlib 2.0.2. Когда я пытаюсь использовать contourf с базовой картой с проекцией "цил", например:
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 , * аргументы, ** 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. Этот вопрос кажется таким же, как этот , на который не ответили.
Любые идеи?