在散点图上绘制线图

问题描述 投票:3回答:2

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

示例代码:

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)

此代码输出散点图,其后面有折线图。当您增加数据点的数量时,更难以看到它们背后的所有行。除了减小标记尺寸,我可以将线放在所有点之上吗?

python matplotlib graphing
2个回答
0
投票

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

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

注10是任意大的,这可能也会在你的传奇之上绘制,所以你可能需要调整它!


1
投票

您可以使用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)

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.