python – 为传奇结合两个Pyplot补丁

前端之家收集整理的这篇文章主要介绍了python – 为传奇结合两个Pyplot补丁前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我试图用置信带绘制一些数据.我这样做的每个数据流有两个图: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,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',))
最佳答案
解决方案借鉴了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,11)

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

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

猜你在找的Python相关文章