gpt4 book ai didi

python - 结合两个 Pyplot 补丁作为图例

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

我试图用置信带绘制一些数据。我正在为每个数据流绘制两个图:plot , 和 fill_between .我希望图例看起来类似于图,其中每个条目都有一个框(置信区域的颜色),其中一条较暗的实线穿过中心。到目前为止,我已经能够使用补丁来创建矩形图例键,但我不知道如何实现中心线。我尝试使用影线,但无法控制位置、厚度或颜色。

我最初的想法是尝试组合两个补丁(Patch 和 2DLine);然而,它还没有奏效。有没有更好的方法?我的 MWE 和当前数字如下所示。

import matplotlib.patches as mpatches
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0,1,11)
y = np.linspace(0,1,11)

plt.plot(x, y, c='r')
plt.fill_between(x, y-0.2, y+0.2, color='r', alpha=0.5)
p = mpatches.Patch(color='r', alpha=0.5, linewidth=0)

plt.legend((p,), ('Entry',))

Figure

最佳答案

解决方案是从 CrazyArm 的评论中借用的,在这里找到:Matplotlib, legend with multiple different markers with one label .显然,您可以制作一个句柄列表并只分配一个标签,它会神奇地将两个句柄/艺术家组合在一起。

import matplotlib.patches as mpatches
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0,1,11)
y = np.linspace(0,1,11)

p1, = plt.plot(x, y, c='r') # notice the comma!
plt.fill_between(x, y-0.2, y+0.2, color='r', alpha=0.5)
p2 = mpatches.Patch(color='r', alpha=0.5, linewidth=0)

plt.legend(((p1,p2),), ('Entry',))

Figure

关于python - 结合两个 Pyplot 补丁作为图例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28732845/

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