IndexError com Basemap.contour () ao usar determinadas projeções
Eu tive problemas ao usarBasemap.contour
com certas projeções. Com base no exemplo dadona documentação do mapa base, Criei o seguinte código de trabalho que produz o resultado esperado. O exemplo usa a projeção 'tmerc'.
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import numpy as np
m2 = Basemap(projection='tmerc',
lat_0=0, lon_0=3,
llcrnrlon=1.819757266426611,
llcrnrlat=41.583851612359275,
urcrnrlon=1.841589961763497,
urcrnrlat=41.598674173123)
##m2 = Basemap(projection='kav7',lon_0=0)
x = np.linspace(0, m2.urcrnrx, 100)
y = np.linspace(0, m2.urcrnry, 100)
xx, yy = np.meshgrid(x, y)
data = np.sin(xx/100)*np.cos(yy/100)
levels = np.linspace(-1,1,8)
m2.contour(xx, yy, data, levels)
plt.show()
No entanto, se eu mudar para o uso da projeção 'kav7' na alternativam2=Basemap
declaração (comentada no código de exemplo), o código falha com o seguinte erro:
Traceback (most recent call last):
File "basemap_contour.py", line 20, in <module>
m2.contour(xx, yy, data, levels)
File "/opt/local/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 "/opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/mpl_toolkits/basemap/__init__.py", line 3542, in contour
xx = x[x.shape[0]/2,:]
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
Observe que isso também acontece quando eu definolon
elat
valores 'corretamente', o exemplo foi escolhido apenas para ser o mais curto possível. Alguém sabe como resolver isso?
EDITAR:
Caso isso seja relevante, estou usandopython
versão 3.5.3 em umosx
Serra máquina. omatplotlib
versão é 2.0.0 e obasemap
A versão é 1.0.7.