在matplotlib 3D绘图中,我可以设置行/列的数量,以确定表面上可见的面的总数
s=ax.plot_surface(x,y,z, color='gray', shade=True, rstride=1,cstride=1)
Run Code Online (Sandbox Code Playgroud)
其中数字越小越好,但是面数越小.由于我也在这个表面上绘制流线/轨迹,我想摆脱脸的边缘.现在,随着
s.set_linewidth(0)
Run Code Online (Sandbox Code Playgroud)
设置较低的rstride和cstride值我几乎可以得到我想要的东西,即表面几乎连续变化的颜色,可以提供良好的3D效果.
不幸的是,线条留在那里,作为面之间的空位.有没有办法做到这一点?也许我只是错过了一个简单的命令..
编辑:生成曲面的代码很长,无法在此处报告.我附上了上面写的解决方法的结果快照.
你有没有试过加入antialiased=False
?
surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1)
Run Code Online (Sandbox Code Playgroud)
surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, linewidth=0)
Run Code Online (Sandbox Code Playgroud)
surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, linewidth=0, antialiased=False)
Run Code Online (Sandbox Code Playgroud)