Python:无法获得错误图的图例(fill_between)

时间:2015-06-05 01:19:33

标签: python patch legend

我使用以下代码绘制三条曲线(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'])

1 个答案:

答案 0 :(得分:0)

我使用来自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'])