Matplotlib等高线填充图在Alpha<1时出现多余轮廓

8 投票
1 回答
5905 浏览
提问于 2025-04-17 17:48

我在使用Python 2.7的matplotlib库绘制填充等高线图。我想把这个图叠加在一张图片上,所以我使用了alpha这个参数来让图变得半透明。当我这样做的时候,等高线的主体透明度是正确的,但contourf()在不同层级的边界上却画出了不想要的线。我尝试用linecolor='none'这个参数来去掉这些线,但没有效果。

代码:

CS = map.contourf(xi, yi, zi, 25, alpha=0.3, linecolor='none')

这里有个问题的示例图片链接;我希望填充的等高线能够无缝连接,而不是有明亮的边界线:

任何帮助或对这个问题的见解都非常感谢。

1 个回答

14

试着把 antialiased=True 打开:

x, y = np.mgrid[-1:1:100j, -1:1:100j]
contourf(x, y, x**2+y**2 + np.random.rand(100, 100)*0.1, 10, alpha=0.3, antialiased=True)

这是我的结果:

在这里输入图片描述

撰写回答