在散点图上绘制折线图

Plotting line graph over scatter graph

我知道如何在相同数据的散点图上绘制折线图,​​但有没有办法将折线图向前移动,使其位于标记的顶部而不是后面?

示例代码:

import numpy as np

x=np.array([1,2,3,4,5])
y=np.array([1,2,3,4,5])

plt.errorbar(x,y,xerr=0.1,yerr=0.1, fmt="x",markersize=5, color = "orange")
plt.plot(x,y)

这段代码输出一个散点图,后面有一个折线图。当你增加数据点的数量时,就很难看到它们背后的线条。除了减小标记大小之外,我可以将线置于所有点之上吗?

我认为您打算在屏幕上以不同级别的 z 顺序绘制内容。这是这样做的:

plt.plot(x,y, zorder=10)

注释 10 任意大,这也可能会绘制在您的图例之上,因此您可能需要调整它!

您可以使用选项 barsabove=True。这会将误差线置于标记上方,并且该线显示在误差线和标记的顶部。为了突出这种效果,我使用了粗误差条。如您所见,蓝线位于误差线和标记上方。使用 barsabove=False(默认值)查看差异。

x=np.array([1,2,3,4,5])
y=np.array([1,2,3,4,5])

plt.errorbar(x,y,xerr=0.1,yerr=0.1, linewidth=10, fmt="x",markersize=5, color = "orange", barsabove=True)
plt.plot(x,y)