matplotlib 填充3维闭合图像
问题描述
使用matplotlib绘制了3维图像曲线,但是不知道如何将其闭合空间填充颜色,尝试了二维中的fill方法,但是会提示在3d模块中无法使用?
相关代码
def draw3d(yy, zz, y_f, z_f, y_l, z_l):
figure = plt.figure()
ax_3d = figure.gca(projection='3d')
yy[-1].reverse()
zz[-1].reverse()
y_l.reverse()
z_l.reverse()
#y和z的点集,draw_y和draw_z都是167个float64的数值元素的数组
draw_y = y_f + yy[-1] + y_l + yy[0]
draw_z = z_f + zz[-1] + z_l + zz[0]
#draw_x = np.array([[500]*167]*167)
draw_z = np.array(draw_z)
draw_y = np.array(draw_y)
ax_3d.plot(draw_y, draw_z, zs=500, zdir='x') #3维未填充图像平面
ax_3d.set(xlabel='x/mm', ylabel='y/mm', zlabel='z/mm')
plt.show()
figure.savefig("./x_500_3d.png")
你期待的结果是什么?实际看到的错误信息又是什么?
如图,我希望曲线中间是被颜色填充的,由于y,z都是数值集合,并不是一个完整的曲线,只是用plot方法将这些点连接起来了,故不知道如何填充蓝色边缘内部的空间。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
求大神解答,新人求助
3D图形好像没有填充方法,需要先转换成3D Polygon。下面是我根据SO上的一个回答写的一个测试,你自己体会一下吧。
注:这个方法来自SO,原帖地址:https://stackoverflow.com/que...,不明白的可以去原贴查看。