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