我有拼接的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
读取。
download data zip file: http://goo.gl/nhCNFS
答案 0 :(得分:1)
如果数组值没有增加(你的lat1d数据正在减少),似乎mayavi有问题。
如果您反转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()