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()