0
我正在嘗試編寫一個函數,它創建一個二維輸入numpy數組的三維表面,具有X和X的行數和列數,以及數組中的值作爲Z值。我搜索關於SO用於3D繪圖的例子,並且適於進入下面的函數該示例(Plotting a 2d Array with mplot3d):二維數組到三維面積函數 - Python
def area_plot(a):
rows = range(a.shape[0])
columns = range(a.shape[1])
hf = plt.figure()
ha = hf.add_subplot(111, projection= "3d")
X, Y = np.mgrid(rows, columns)
ha.plot_surface(X,Y, arr)
plt.show()
的實例陣列是這樣的:
arr = np.array([(1,1,1,2,2,3,2,2,1,1,1),
(1,1,1,2,3,3,3,2,1,1,1),
(1,1,1,2,3,10,3,2,1,1,1),
(1,1,1,2,3,3,3,2,1,1,1),
(1,1,1,2,2,3,2,2,1,1,1)])
area_plot(arr)
但是我得到這個錯誤,我不知道如何解決它。謝謝!
TypeError: 'nd_grid' object is not callable
此代碼產生一個* ValueError異常:新的數組的總大小必須保持不變* –
我得到這個錯誤消息:「ValueError異常:形狀不匹配:兩個或更多個陣列具有在軸線上0不相容的維度」 – Litwos
剛剛更新了它,現在嘗試... – LRP