如何解决matplotlib 中的误差线显示在其他曲线上
我有一个图,其中一些数据由带有误差条的散点图表示,我想为其拟合一条曲线。但是,无论我在代码中绘制曲线的哪个位置,误差线都漂浮在曲线之上。我希望拟合曲线显示在误差线前面,否则我看不到它。
这是一个简单的问题示例:
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')
ax3 = ax.twinx()
ln2 = ax3.errorbar(x,r,yerr=x,color='red',fmt='o')
ln2fit = ax3.plot(x,r-0.3,'b')
以及它产生的情节:
有两个轴,因为我要比较两个数据集。
如您所见,即使我在误差线上方绘制了曲线,误差线和点仍然掩盖了曲线。我该怎么做才能禁用它?
解决方法
您可以指定 zorder:
ln2 = ax3.errorbar(x,r,yerr=x,color='red',fmt='o',zorder=1)
如果您还希望在前景中有绿线,则需要将其轴 ax
移动到更高的 zorder(默认为 0)并隐藏 ax
的轴补丁,以便底层 ax3
保持可见:
ax.set_zorder(1)
ax.patch.set_visible(False)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。