# Python实现部分地区男人身高/体重数据的线性拟合
import numpy as np
import matplotlib.pyplot as plt
from scipy import optimize
def f_1(x, A, B):
return A * x + B
plt.figure()
# 拟合数据点
x0 = [163, 168, 169, 170, 171, 172, 183, 160, 178, 175]
y0 = [63, 71, 80, 75, 72, 78, 83, 65, 72, 77]
# 绘制散点图
plt.scatter(x0[:], y0[:], 30, "Blue")
# 直线拟合与绘制
A1, B1 = optimize.curve_fit(f_1, x0, y0)[0]
x1 = np.arange(160, 190, 0.1)
y1 = A1 * x1 + B1
plt.plot(x1, y1, "red")
print(A1)
print(B1)
plt.title("部分地区男人身高/体重数据")
plt.xlabel('Height(cm)')
plt.ylabel('weight(kg)')
plt.show()
绘制出如下数据图表