gpt4 book ai didi

matplotlib - plot 和 fill_between 的组合图例条目

转载 作者:行者123 更新时间:2023-12-04 03:51:21 26 4
gpt4 key购买 nike

这类似于 Matlab: Combine the legends of shaded error and solid line mean ,除了 Matplotlib。示例代码:

import numpy as np
import matplotlib.pyplot as plt

x = np.array([0,1])
y = x + 1
f,a = plt.subplots()
a.fill_between(x,y+0.5,y-0.5,alpha=0.5,color='b')
a.plot(x,y,color='b',label='Stuff',linewidth=3)
a.legend()

plt.show()

上面的代码产生了一个看起来像这样的图例:

enter image description here

如何创建结合 fill_between 阴影的图例条目和来自 plot 的线路,所以它看起来像这样(用 Gimp 制作的模型):

enter image description here

最佳答案

MPL 支持对图例的元组输入,以便您可以创建复合图例条目(请参阅 this 页上的最后一张图)。但是,截至目前,图例不支持 PolyCollections(由 fill_between 创建/返回),因此仅将 PolyCollection 作为元组中的条目提供给图例是行不通的( a fix is anticipated for mpl 1.5.x )。

在修复程序到来之前,我建议使用 proxy artist结合“元组”图例输入功能。您可以使用 mpl.patches.Patch界面(如代理艺术家页面所示),或者您可以只使用填充。例如。:

import numpy as np
import matplotlib.pyplot as plt

x = np.array([0, 1])
y = x + 1
f, a = plt.subplots()
a.fill_between(x, y + 0.5, y - 0.5, alpha=0.5, color='b')
p1 = a.plot(x, y, color='b', linewidth=3)
p2 = a.fill(np.NaN, np.NaN, 'b', alpha=0.5)
a.legend([(p2[0], p1[0]), ], ['Stuff'])

plt.show()

Compound legend with fill_between

关于matplotlib - plot 和 fill_between 的组合图例条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26217687/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com