在使用 matplotlib 进行绘制三维地形图时,出现了这个报错:
surf1 = ax1.plot_surface(x,y,z,cmap=plt.cm.viridis_r)
File "D:\Program Files\Python38\lib\site-packages\mpl_toolkits\mplot3d\axes3d.py", line 1568, in plot_surface
if Z.ndim != 2:
AttributeError: 'list' object has no attribute 'ndim'
经过检查,原来数组需要经过 numpy 的转换
因此在 surf1 = ax1.plot_surface(x,y,z,cmap=plt.cm.viridis_r) 之前,加上:
z = np.array(z)
就可以正常绘图了(上述np是 import numpy as np )