matplotlib 中的误差线显示在其他曲线上

2024-01-07

我有一个图,其中一些数据由带有误差线的散点图表示,我想为其拟合一条曲线。但是,无论我在代码中的哪个位置绘制曲线,误差线都会浮在其上方。我希望拟合的曲线显示在误差线前面,否则我看不到它。

这是该问题的一个简单示例:

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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

matplotlib 中的误差线显示在其他曲线上 的相关文章

随机推荐