Python三维图添加图例报错:AttributeError: ‘Poly3DCollection‘ object has no attribute ‘_facecolors3d‘

文章讨论了在Matplotlib库中使用plot_surface函数创建3D图形时,针对不同版本代码调整的解决方案,强调了facecolors和edgecolors属性的更新需求。
摘要由CSDN通过智能技术生成

参考Github问题:https://github.com/matplotlib/matplotlib/issues/4067

有人说像这样:返回surf添加两行代码

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()

后面又有人说现在的版本试了不行,需要改一下,注意每一个图都要添加这两行代码:

surf1 = ax.plot_surface(X, Y, np.zeros([3,3], label="surf")
surf1._facecolors2d=surf._facecolors
surf1._edgecolors2d=surf._edgecolors

surf2 = ax.plot_surface(X, Y, np.zeros([3,3], label="surf")
surf2._facecolors2d=surf._facecolors
surf2._edgecolors2d=surf._edgecolors
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值