Mayavi показывает неправильный размер объекта

У меня есть мозаика плиток Aster GDEM, которые я сшил вместе. Когда я строю данные с plt.contourf(mosaic.lon1d, mosaic.lat1d, mosaic.elev, 40, cmap=plt.cm.terrain) все на месте и отображается правильно.

Тем не менее, следующий код:

fig = mlab.figure(figure='ICVM', bgcolor=(1,1,1), fgcolor=(0,0,0), size=(1024,786))
mlab.clf()

topo = mlab.surf(mosaic.lat1d, mosaic.lon1d, mosaic.elev, colormap='gist_earth', warp_scale=-1e-4)

mlab.axes(xlabel='lat.', ylabel='lon.')
mlab.outline()

mlab.view(-160, 125, 10, array([26.5,35.,-0.1168]))
mlab.roll(-90)

производит этот график, что хорошо за исключением того факта, что широта идет от 24 до 29 вместо 29 до 34, как это должно быть.

есть идеи, почему это так? я могу изменить это?

Следующая ссылка будет загружать данные (lat1d, lon1d, elev) как .npy файл для чтения с numpy.load, http://goo.gl/nhCNFS

1 ответ

Решение

Кажется, что у mayavi есть проблемы, если значения массива не увеличиваются (Ваши данные lat1d уменьшаются).

Если вы перевернете массив lat1d и elev, вы получите правильный график.

fig = mlab.figure(figure='ICVM', bgcolor=(1,1,1), fgcolor=(0,0,0), size=(1024,786))
mlab.clf()

topo = mlab.surf(lat1d[::-1], lon1d, elev[::-1], colormap='gist_earth', warp_scale=-1e-4)

mlab.axes(xlabel='lat.', ylabel='lon.')
mlab.outline()

Другие вопросы по тегам