问题描述
我试图在 y 轴上的半对数图上拟合一些数据。我的Python代码如下:
import matplotlib.pyplot as plt
import numpy as np
import scipy as sp
from scipy.optimize import curve_fit
x1 = [1,2,3,4,5,6,8,9,11,13,14,15,16]
y1 = [18,12,7,1,1]
y = y1
x = x1
def s_plot(x,m,c):
return np.power(10,(x*m+c))
pars,cov = curve_fit(f=s_plot,xdata=x,ydata=y,p0=[1,1 ])
在绘制数据和拟合曲线时,我得到一条直线而不是半对数图,如下所示。
如何获得合适的半对数曲线拟合?