在绘制3d曲面时去除伪影/网格线

时间:2011-06-08 17:51:03

标签: python matplotlib mplot3d

使用mpl_toolkits.mplot3d.Axes3D.plot_surface()绘制曲面时,会出现看似符合曲面绘制曲线的线条。例如:

X, Y = numpy.meshgrid(numpy.arange(some_range), numpy.arange(some_other_range))
Z1, Z2 = numpy.array(getRate()) 
#getRate is a function that returns an array of shape (len(some_range), len(some_other_range)  

fig = pyplot.figure()
ax = mplot3d.Axes3D(fig)

ax.plot_surface(X, Y, Z1, color='w', alpha=0.2)
ax.plot_surface(X, Y, Z2, color='b', alpha=0.2)

pyplot.show()

有没有办法摆脱血腥的东西,所以你只有一个光滑的表面?我附上了一张图片来表明我的意思。 enter image description here

1 个答案:

答案 0 :(得分:6)

尝试

ax.plot_surface(X, Y, Z1, color='w', alpha=0.2, linewidth=0)
ax.plot_surface(X, Y, Z2, color='b', alpha=0.2, linewidth=0)

但是,您可能希望稍微增加alpha值,如果删除线条会使部分表面难以看清。