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