Matplotlib透明线图


131

我在matplotlib中绘制了两个相似的轨迹,我想以部分透明的方式绘制每条线,以使红色(绘制的第二个)不会遮盖蓝色。

替代文字

编辑:这是带有透明线的图像。

替代文字

Answers:



27

绘制完所有线条后,可以如下设置所有线条的透明度:

for l in fig_field.gca().lines:
    l.set_alpha(.7)

编辑:请在评论中查看乔的答案。


28
所有maplotlib绘图功能都直接采用alpha参数。你可以做plt.plot(x, y, 'r-', alpha=0.7)
乔·肯顿2010年

3
我很高兴看到更新的图片-您能将其添加到此答案中吗?
Sven Marnach 2010年

3
@JoeKington:这似乎在应用透明度之前先将线条合成。是否有另一种方法可以使透明线加在一起变得更暗?
naught101

5

这实际上取决于您要使用哪些函数来绘制线条,但是请尝试查看所使用的on是否采用alpha值并将其设置为0.5。如果那不起作用,请尝试获取线对象并直接设置其alpha值。


1
@ joe-kington的评论说所有的matplotlib函数都带有一个alpha参数,您的答案需要更正还是他的评论?
U3.1415926
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.