用matplotlib python绘制散点图的平均线

时间:2018-10-23 11:55:03

标签: python matplotlib

我正在尝试使用matplotlib拟合散点图中的平均线。我得到的就是这个。

enter image description here

但我希望它像这样的绿线

enter image description here

我尝试了以下两个片段来拟合曲线:

z = np.polyfit(x, y, 1)
p = np.poly1d(z)
plt.plot(x,p(x),"r-")

def func(x, a, b, c):
  return a * np.exp(-b * x) + c
popt, pcov = curve_fit(func, x, residual)
plt.plot(x, func(x, *popt), 'r-', label='fit')

1 个答案:

答案 0 :(得分:1)

由于您没有提供数据,因此我自己创建了数据,我已经尝试过:

N = 10000
xr = np.linspace(-1,6,N)
yr = -1*(np.ones(N)-1+xr) + 10*np.random.rand(N)
x = np.concatenate((xr[0:3800],xr[4900:]))
y = np.concatenate((yr[0:3800],yr[4900:]))

z = np.polyfit(x, y, 1)
p = np.poly1d(z)
plt.plot(x,p(x),"r-")
plt.scatter(x,y, s=2)

plt.show()

```

这是我的输出,这是预期的输出:

Scatter and plot

如果您可以共享一部分数据,我也可以对其进行测试。