Python教程

python使用Axes3D画三维图加入legend图例时报错AttributeError: ‘Poly3DCollection‘ object has no attribute ‘_edgecolo

本文主要是介绍python使用Axes3D画三维图加入legend图例时报错AttributeError: ‘Poly3DCollection‘ object has no attribute ‘_edgecolo,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Q:python使用Axes3D画三维图加入legend图例时报错AttributeError: 'Poly3DCollection' object has no attribute '_edgecolors2d'

报错源代码

fig = plt.figure()
ax = Axes3D(fig)
X, Y = np.meshgrid(3, 3)
ax.plot_surface(X, Y, np.zeros([3,3], label="surf")
ax.legend()
plt.show()

A:在ax.legend()加入如下代码

surf._facecolors2d=surf._facecolors3d
surf._edgecolors2d=surf._edgecolors3d

修改后代码

fig = plt.figure()
ax = Axes3D(fig)
X, Y = np.meshgrid(3, 3)
surf = ax.plot_surface(X, Y, np.zeros([3,3], label="surf")
surf._facecolors2d=surf._facecolors3d
surf._edgecolors2d=surf._edgecolors3d
ax.legend()
plt.show()
这篇关于python使用Axes3D画三维图加入legend图例时报错AttributeError: ‘Poly3DCollection‘ object has no attribute ‘_edgecolo的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!