【问题标题】:Python: can't get legend for an error plot (fill_between)Python:无法获取错误图的图例(fill_between)
【发布时间】:2015-06-05 01:19:33
【问题描述】:

我正在使用以下代码绘制三条曲线(1. 平均值、2. 不确定性/误差和 3. 测量数据),但是,我无法为所有三条曲线获得所需的图例。我可以将“平均”和“测量数据”的图例分别作为蓝色实线和红色圆圈,但是,我无法将蓝色补丁作为“不确定性”的图例。我正在使用带有 Spyder 的 Python 2.7 版本。

qErr = np.std(qArray, axis=1)
h1 = plt.semilogy(T, qArray[:, 2], 'b-', label = 'Mean')
h2 = plt.fill_between(T, qArray[:, 2] - qErr, qArray[:, 2] + qErr, facecolor='b', alpha = 0.2)
plt.hold
h3 = plt.semilogy(T, ORate[idxt0:], 'ro')
plt.legend([h1, h2, h3], ['Mean', 'Uncertainty', 'Measured Data'])

【问题讨论】:

    标签: python patch legend


    【解决方案1】:

    我使用来自here 的@kwarrick hack 得到它:

    qErr = np.std(qArray, axis=1)
    h1 = plt.semilogy(T, qArray[:, 2], 'b-', label = 'Mean')
    h2 = plt.fill_between(T, qArray[:, 2] - qErr, qArray[:, 2] + qErr, facecolor='b', alpha = 0.2)
    h3 = plt.plot([], [], color='blue', linewidth=10)
    h4 = plt.semilogy(T, ORate[idxt0:], 'ro')
    plt.legend(['Mean', 'Uncertainty', 'Measured Data'])
    

    P.S.:但是,如果我将图例与它们的情节句柄对应起来,我不明白为什么我不能得到结果:

    plt.legend([h1, h3, h4], ['Mean', 'Uncertainty', 'Measured Data'])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-01
      • 2012-11-24
      • 1970-01-01
      • 1970-01-01
      • 2015-01-19
      • 2014-10-13
      • 2015-02-01
      • 1970-01-01
      相关资源
      最近更新 更多