加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-16 22:26:49 所属栏目:Python 来源:网络整理
导读:我试图用置信带绘制一些数据.我这样做的每个数据流有两个图:plot和fill_between.我希望图例看起来类似于图表,其中每个条目都有一个框(置信区域的颜色),中间有一条较暗的实线.到目前为止,我已经能够使用补丁来创建矩形图例键,但我不知道如何实现中心线.我尝

我试图用置信带绘制一些数据.我这样做的每个数据流有两个图: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),))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读