簡體   English   中英

plot 用戶如何將數據輸入到具有最佳擬合線的圖形上?

[英]How can I plot user input data onto a graph with a line of best fit?

如何添加最適合用戶輸入數據的行? 到目前為止,我已經制作了一個循環來收集數據及其長度,但我不確定如何讓它將這些值識別為 x 和 y 值的字符串,並且它需要是一個數組來做最小二乘圖/最合適。 我對編碼相當陌生,所以任何幫助將不勝感激,謝謝。

import matplotlib as plt
import numpy as np

x=[]
y=[]

for i in range(1, 20):
    print('Concentration?')
    x = input()
    print('Absorbance?')
    y = input()
    plt.plot(x, y, 'o', label="Data", markersize=5)
    if i == 3:
        break
    else:
        continue



A = np.vstack([x,np.ones(len(x))]).T
print(A)
#
m, c = np.linalg.lstsq(A, y, rcond=None)[0]
plt.plot(x,m*x+c, 'r', label="Fit")
plt.show()

您需要將 append 輸入到列表中。 然后在您的 plot 中,您需要計算我在列表理解部分中顯示的 y 點。

或者,您可以只使用 seaborn regplot 它將為您處理所有這些。

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np

x=[]
y=[]

for i in range(1, 20):
    print('Concentration?')
    x.append(float(input()))
    print('Absorbance?')
    y.append(float(input()))
    plt.plot(x, y, 'o', label="Data", markersize=5)
    if i == 3:
        break
    else:
        continue

A = np.vstack([x,np.ones(len(x))]).T
m, c = np.linalg.lstsq(A, y, rcond=None)[0]
plt.plot(x,[m*_+c for _ in x], 'r', label="Fit")

在此處輸入圖像描述

sns.regplot(x,y, ci=None)

在此處輸入圖像描述

暫無
暫無

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

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