Python Matplotlib,在顶部绘制

Python Matplotlib,在顶部绘制,python,matplotlib,errorbar,Python,Matplotlib,Errorbar,我正在画一些数据点的误差条图,在这些点旁边,我想画两个值之间的平均值,一条线,我还想把这条线画在误差条的顶部 在我的代码中,我编写pyplot.errorbar。。。要先绘制数据点,然后绘制pyplot.plot。。。要绘制线,结果是错误条被绘制在线的顶部,因此线几乎不可见: 我不知道如何在顶部画线,这可能很容易做到,但我不知道如何做到。这通常是使用zorder控制的 您还可以通过在plt.errorbar中设置参数alpha和errorbar线宽elinewidth来播放透明度或不透明度,以获

我正在画一些数据点的误差条图,在这些点旁边,我想画两个值之间的平均值,一条线,我还想把这条线画在误差条的顶部

在我的代码中,我编写pyplot.errorbar。。。要先绘制数据点,然后绘制pyplot.plot。。。要绘制线,结果是错误条被绘制在线的顶部,因此线几乎不可见:


我不知道如何在顶部画线,这可能很容易做到,但我不知道如何做到。

这通常是使用zorder控制的


您还可以通过在plt.errorbar中设置参数alpha和errorbar线宽elinewidth来播放透明度或不透明度,以获得理想的效果

使用虚拟数据的示例 将numpy作为np导入 将matplotlib.pyplot作为plt导入 %matplotlib内联 %config InlineBackend.figure_格式='svg''svg','retina' plt.风格。使用“seaborn-white” 虚拟数据 np.random.0 x=np.arange-1,1,0.1 y、 yerr=2*np.random.randnx.size+5,1*np.random.randnx.size xerr=0.2*np.random.randnx.size 算计 图,ax1,ax2=plt。子批次行=1,ncols=2,图大小=16,6 plt.scaax1 plt.plot x,y,'bo',markersize=3 plt.errorbarx,y,xerr=xerr, ecolor='red',elinewidth=1.2,barsabove=False, α=0.3,lw=1 plt.标题'elinewidth=1.2' plt.scaax2 plt.plot x,y,'bo',markersize=3 plt.errorbarx,y,xerr=xerr, ecolor='red',elinewidth=2.0,barsabove=False, α=0.3,lw=1 plt.标题'elinewidth=2.0' plt.suptitle“控制误差条宽度和透明度” 节目 输出:

pyplot.plot([0,1], [0,1], linewidth=10)
pyplot.errorbar([0.5], [0.5], 0.3, 0.3, linewidth=20, zorder=-100)
pyplot.plot([0,1], [0,1], linewidth=10)
pyplot.errorbar([0.5], [0.5], 0.3, 0.3, linewidth=20, zorder=100)