4
我试图用matplotlib绘制地形高程数据。我建立了一个nx3的numpy数组,每行包含我的点的x,y,z坐标(它们在x,y平面上的网格中有规律的间隔)。我试图用这个代码来绘制它:用matplotlib绘制地形数据plot_surface
fig = plt.figure()
ax = fig.gca(projection='3d')
print desiredData[:,0]
surf = ax.plot_surface(desiredData[:,0], desiredData[:,1],
desiredData[:,2], rstride =1,
cstride = 1, cmap=cm.jet,
linewidth = 0, antialiased = False)
plt.show()
,但我得到这个错误:
Traceback (most recent call last):
File "gisConvert.py", line 203, in <module>
linewidth = 0, antialiased = False)
File "C:\Python27\lib\site-packages\mpl_toolkits\mplot3d\axes3d.py", line 663,
in plot_surface
rows, cols = Z.shape
ValueError: need more than 1 value to unpack
我在做什么错?
非常正确。 OP,请查看examples/mplot3d目录以获取如何使用plot_surface的一些很好的示例。 – 2010-12-20 08:22:13
因此,而不是nx3阵列,我应该有3个mxp数组?我认为这是matplotlib可以识别数据的结构? – 2010-12-20 18:54:32
@Ben Jones:你需要二维数组作为坐标,是的。 – user225312 2010-12-21 15:08:55