2014-03-13 92 views
0

我試圖繪製一個數組作爲輸入的3D圖像。 爲了測試我做了一個小np.array如何用matplotlib將曲面正確繪製爲曲面?

ar = np.array([[1,2,3],[4,5,6],[7,8,9]]) 

我的想法是使用X位置爲x值,縱位置爲y值和每個位置z值的價值。

fig = plt.figure(figsize=(12,10)) 
ax = fig.add_subplot(111, projection='3d') 

plt.title("Titel") 
X = range(len(a)) 
Y = range(len(a)) 
Z = a 
ax.plot_surface(X,Y,Z, cmap=plt.cm.Reds, cstride=1, rstride=1) 

我的問題是,我得到一個情節,但情節心不是像我因子評分它會是...... Plot

我希望有一個「正常」的表面圖,如下所示: normal plot

在Docs中解釋瞭如何使用函數作爲輸入進行三維繪圖,但我沒有找到一個好的描述如何使用數組來完成它。

Sry基因的大照片,我不知道如何使它們變得更小:/

回答

0

發現在這個問題的解決方案:Plotting a 2D Array with Matplotlib

不知道爲什麼,我沒有之前看到它。

添加

x = range(len(a)) 
y = range(len(a)) 
X,Y = np.meshgrid(x,y) 
Z = a 

給出了這樣的情節: plot

我不知道究竟是什麼 「meshgrid」 ...要去尋找多一點吧。