微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何确保 matplotlib 图例以正确的顺序显示带有误差条的曲线?

如何解决如何确保 matplotlib 图例以正确的顺序显示带有误差条的曲线?

我有一个带有误差线的数据集,我想将曲线拟合到该数据集。我遇到的问题是,无论我在 this question 中详述的代码顺序如何,错误栏都显示在所有行上,并被告知答案是在错误函数添加一个 zorder 参数。>

效果很好,但不幸的是,图例中标签的顺序仍然将误差线放在最后(即越过线):

enter image description here

在这里,我希望右上角的图例中的“b”线位于“b fit”上方,就像左上角的图例一样。这是我的代码

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

x = np.arange(1,10)
r = np.random.random(x.size)

fig1,ax = plt.subplots()
ln1 = ax.plot(2*x,x,'g',label='a')
ln1fit = ax.plot(2*x-2,color='lightgreen',label='a fit')
plt.legend(loc='upper left')
ax3 = ax.twinx()
ln2 = ax3.errorbar(x,r,yerr=x,color='red',fmt='o',zorder=1,label="b")
ln2fit = ax3.plot(x,'b',label="b fit")
plt.legend(loc = 'upper right')

我该如何解决这个问题?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。