如何在matplot上绘制散点趋势线?Python的熊猫

zon*_*ono 8 numpy matplotlib pandas

我想在matplot上绘制一个散点趋势线.我怎样才能做到这一点?

蟒蛇

import pandas as pd
import matplotlib.pyplot as plt
csv = pd.read_csv('/tmp/test.csv')
data = csv[['fee', 'time']]
x = data['fee']
y = data['time']
plt.scatter(x, y)
plt.show()
Run Code Online (Sandbox Code Playgroud)

CSV

fee,time
100,650
90,700
80,860
70,800
60,1000
50,1200
Run Code Online (Sandbox Code Playgroud)

时间是整数值.

散点图在此输入图像描述

zon*_*ono 24

对不起,我自己找到了答案.

如何在python matplotlib点(散点)图中添加趋势线?

蟒蛇

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
csv = pd.read_csv('/tmp/test.csv')
data = csv[['fee', 'time']]
x = data['fee']
y = data['time']
plt.scatter(x, y)

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

plt.show()
Run Code Online (Sandbox Code Playgroud)

图表

在此输入图像描述


Ash*_*yan 12

有文字:

from sklearn.metrics import r2_score

plt.plot(x,y,"+", ms=10, mec="k")
z = np.polyfit(x, y, 1)
y_hat = np.poly1d(z)(x)

plt.plot(x, y_hat, "r--", lw=1)
text = f"$y={z[0]:0.3f}\;x{z[1]:+0.3f}$\n$R^2 = {r2_score(y,y_hat):0.3f}$"
plt.gca().text(0.05, 0.95, text,transform=plt.gca().transAxes,
     fontsize=14, verticalalignment='top')
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明