簡體   English   中英

用matplotlib python繪制散點圖的平均線

[英]Draw average line of scatter plot with matplotlib python

我正在嘗試使用matplotlib擬合散點圖中的平均線。 我得到的就是這個。

在此處輸入圖片說明

但我想要像這樣的綠線

在此處輸入圖片說明

我嘗試了以下兩個片段來擬合曲線:

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')

由於您沒有提供數據,因此我做了自己的工作,我已經嘗試過:

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()

```

這是我的輸出,這是預期的輸出:

散點圖

如果您可以共享一部分數據,我也可以對其進行測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM