python画散点图代码,拟合曲线是y=1-0.05/(1+(x/85.71)^1.83)
时间: 2024-09-14 16:04:32 浏览: 37
在Python中,你可以使用matplotlib库来绘制散点图,并通过numpy和scipy库来计算并拟合函数。首先,我们需要导入所需的库,然后创建数据集,接着绘制散点图,最后对数据进行拟合。
这里是一个简单的例子:
```python
import numpy as np
from scipy.optimize import curve_fit
import matplotlib.pyplot as plt
# 定义我们要拟合的函数
def func(x, a, b):
return a - (b / (1 + (x / 85.71) ** 1.83))
# 创建随机数据作为示例,替换为实际数据
x_data = np.linspace(0, 100, 100) # x轴数据范围
y_data = func(x_data, 1, 0.05) + np.random.normal(0, 0.1, size=x_data.shape) # y轴数据加上一些噪声
# 使用curve_fit进行拟合
popt, _ = curve_fit(func, x_data, y_data)
# 绘制散点图和拟合曲线
plt.scatter(x_data, y_data, label='Data')
plt.plot(x_data, func(x_data, *popt), 'r', label='Fit: y=%5.2f - (%5.2f / (1 + (x/85.71)**1.83))' % tuple(popt))
plt.legend()
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Scatter plot with fitted curve')
plt.show()
阅读全文