Matplotlib 3D表面连续阴影

7
在matplotlib的3D图中,我可以使用以下代码设置行数和列数,从而决定表面上可见的总面数:
s=ax.plot_surface(x,y,z, color='gray', shade=True, rstride=1,cstride=1)

当rstride和cstride的数字越小,面就越小。由于我还在这个表面上绘制流线/轨迹,所以我想摆脱面的边缘。现在,使用

s.set_linewidth(0)

通过设置rstride和cstride的较低值,我几乎得到了我想要的,即表面上几乎连续变化的颜色,这给人带来了良好的3D效果。
不幸的是,线条仍然存在,作为面之间的空白。 有没有方法可以解决这个问题? 也许我只是缺少一个简单的命令......
编辑:生成表面的代码很长,无法在此处报告。 我附上使用上述解决方法得到的结果快照。 surface with white lines

您能否附上您想要查看的图片,并发布一些示例数据+最小代码,以展示迄今为止所拥有的内容? - Paul H
1个回答

11

你尝试过在那里也加入 antialiased=False 吗?

surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1)

在此输入图片描述

surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, linewidth=0)

在这里输入图片描述

surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, linewidth=0, antialiased=False)

在这里输入图像描述


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接