用一组python函数,绘制三组数据的拟合分析图像

用一组python函数,绘制三组数据的拟合分析图像

在Python中,使用matplotlib库来绘制数据的拟合分析图像。以下是一个简单的例子,这个例子中展示如何绘制三组数据的散点图以及它们的拟合曲线。

首先,需要安装matplotlibnumpy库(如果你还没有安装的话):

pip install matplotlib numpy scipy

然后,你可以使用以下Python代码来绘制图像:

import matplotlib.pyplot as plt
import numpy as np
from scipy.optimize import curve_fit

# 定义你的函数,这里我们假设是一个二次函数
def func(x, a, b, c):
    return a * x**2 + b * x + c

# 第一组数据
x1_data = np.array([1, 2, 3, 4, 5])
y1_data = np.array([1, 4, 9, 16, 25])

# 第二组数据
x2_data = np.array([1, 2, 3, 4, 5])
y2_data = np.array([1, 8, 27, 64, 125])

# 第三组数据
x3_data = np.array([1, 2, 3, 4, 5])
y3_data = np.array([1, 16, 81, 256, 625])

# 对数据进行曲线拟合
popt1, pcov1 = curve_fit(func, x1_data, y1_data)
popt2, pcov2 = curve_fit(func, x2_data, y2_data)
popt3, pcov3 = curve_fit(func, x3_data, y3_data)

# 创建一个图像和轴
fig, ax = plt.subplots()

# 绘制原始数据点
ax.scatter(x1_data, y1_data, color='r', label='Data 1')
ax.scatter(x2_data, y2_data, color='g', label='Data 2')
ax.scatter(x3_data, y3_data, color='b', label='Data 3')

# 创建拟合曲线的x值
x_fit = np.linspace(min(x1_data.min(), x2_data.min(), x3_data.min()), max(x1_data.max(), x2_data.max(), x3_data.max()), 100)

# 绘制拟合曲线
ax.plot(x_fit, func(x_fit, *popt1), 'r--', label='Fit 1')
ax.plot(x_fit, func(x_fit, *popt2), 'g--', label='Fit 2')
ax.plot(x_fit, func(x_fit, *popt3), 'b--', label='Fit 3')

# 设置图像标签和图例
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.legend()

# 显示图像
plt.show()

在这个例子中,首先定义了一个二次函数func,它将被用来拟合数据。然后有三组数据点,每组数据都有对应的x和y数组。使用curve_fit函数来拟合这三组数据,并获得最佳拟合参数popt。然后我们创建了一个图像,并在图上绘制了原始数据点和拟合后的曲线。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值