python 绘制拟合曲线并加指定点标识
import os
import numpy as np
from scipy import log
from scipy.optimize import curve_fit
import matplotlib.pyplot as plt
import math
from sklearn.metrics import r2_score
# 字体
plt.rcParams['font.sans-serif']=['SimHei']
# 拟合函数
def func(x, a, b):
# y = a * log(x) + b
y = x/(a*x+b)
return y
# 拟合的坐标点
x0 = [2, 4, 8, 10, 24, 28, 32, 48]
y0 = [6.66,8.35,10.81,11.55,13.63,13.68,13.69,13.67]
# 拟合,可选择不同的method
result = curve_fit(func, x0, y0,method='trf')
a, b = result[0]
# 绘制拟合曲线用
x1 = np.arange(2, 48, 0.1)
#y1 = a * log(x1) + b
y1 = x1/(a*x1+b)
x0 =