所以我有一個二維數組(名爲Data),看起來像:繪製與Matplotlib
Shape 0 Shape 1 ... Shape N
------- ------- -------
Scale 0 | Value00 , Value01 ... Value0N |
Scale 1 | Value10 , Value11 ... Value1N |
.
.
.
Scale N | ValueN0 , ValueN1 ... ValueNN |
我想創建一個三維圖,其中ValueXXs是Z軸。我嘗試了兩次嘗試,但每次都會給我一個相對於另一個旋轉的表面,所以我感到有點困惑。這是我在一個解決方案1的嘗試:
x,y = numpy.mgrid[0:50:50j,0:50:50j]
f = Data
fig = plt.figure()
ax = Axes3D(fig)
ax.plot_surface(x,y,f,rstride=1,cstride=1)
這裏是我的第二次嘗試:
nx, ny = 50, 50
x = range(nx)
y = range(ny)
hf = plt.figure()
ha = hf.add_subplot(111, projection='3d')
X, Y = numpy.meshgrid(x, y)
ha.plot_surface(X,Y,Data,rstride=1,cstride=1)
檢查X和Y確實沒有任何幫助真的是因爲它是一個正方形。我不確定何時X代表我的'比例',而不是代表我的'形狀'。
那麼,這兩個例子到底發生了什麼?有沒有更好的方法來繪製這個數組?
謝謝!
我發現當我有這樣的情況下,它通常是最容易故意產生具有不同的x和y軸的尺寸的測試數據集。這將使您能夠檢查繪圖,並且在某些情況下(例如,pcolor),如果您錯誤地指定了x和y軸陣列,它將引發錯誤。 – DaveP