【问题标题】:Matplotlib transparent line plotsMatplotlib 透明线图
【发布时间】:2019-08-15 03:44:33
【问题描述】:

我在 matplotlib 中绘制两条相似的轨迹,我想绘制具有部分透明度的每条线,这样红色(第二个绘制)就不会遮住蓝色。

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

【问题讨论】:

    标签: python matplotlib


    【解决方案1】:

    简单明了:

    plt.plot(x, y, 'r-', alpha=0.7)
    

    (我知道我没有添加任何新内容,但直截了当的答案应该是可见的)。

    【讨论】:

    • 我看不到 alpha 参数的记录位置。您能否更新答案以包括记录的位置?
    • @AlexSpurling plt.plot 采用 Line2D 的关键字参数,其中 alpha 参数是其属性。
    【解决方案2】:

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

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

    编辑:请在 cmets 中查看 Joe 的回答。

    【讨论】:

    • 所有 maplotlib 绘图函数都直接采用 alpha 参数。你可以做plt.plot(x, y, 'r-', alpha=0.7)
    • 我很高兴看到更新后的图片——你能把它添加到这个答案中吗?
    • @JoeKington:这似乎在应用透明度之前合成了线条。有没有办法反过来做,让透明线加起来变暗?
    【解决方案3】:

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

    【讨论】:

    • @joe-kington 的评论说所有 matplotlib 函数都采用 alpha 参数,您的答案需要更正还是他的评论?
    猜你喜欢
    • 1970-01-01
    • 2013-09-27
    • 2018-01-19
    • 2015-11-16
    • 2013-09-24
    • 1970-01-01
    • 2015-04-08
    • 2023-03-18
    相关资源
    最近更新 更多