Python Mayavi显示错误的对象范围
我有一个马赛克的Aster GDEM瓷砖,我已经缝合在一起。当我用Python Mayavi显示错误的对象范围,python,vtk,mayavi,gis,Python,Vtk,Mayavi,Gis,我有一个马赛克的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(mos
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
读取。
如果数组值没有增加(您的lat1d数据正在减少),mayavi似乎会出现问题 如果反转lat1d和elev阵列,则可以得到正确的绘图
fig=mlab.figure(figure='ICVM',bgcolor=(1,1,1),fgcolor=(0,0,0),size=(1024786))
mlab.clf()
地形=mlab.surf(lat1d[::-1],lon1d,elev[::-1],colormap='gist\u earth',warp\u scale=-1e-4)
mlab.轴(xlabel='lat',ylabel='lon')
mlab.outline()