Python在同一图中画出数据的散点图和回归方程和拟合曲线
时间: 2024-10-25 18:13:59 浏览: 32
基于XGBoost的数据回归预测Python代码 包含散点图和折线图可视化
5星 · 资源好评率100%
在Python中,你可以使用matplotlib库来绘制数据的散点图,然后结合statsmodels库来计算回归分析并添加回归方程。这里是一个简单的步骤示例:
1. 首先,你需要安装必要的库,如果还没有的话,可以使用pip命令:
```bash
pip install matplotlib numpy statsmodels
```
2. 然后,导入所需的模块:
```python
import matplotlib.pyplot as plt
import numpy as np
from statsmodels.formula.api import ols
```
3. 创建一些示例数据(这里我们假设有一个简单的一维线性关系):
```python
x = np.linspace(0, 10, 50)
y = 2 * x + np.random.normal(0, 2, size=50) # 添加随机噪声模拟真实世界的数据
```
4. 绘制散点图:
```python
plt.scatter(x, y, label='原始数据')
plt.xlabel('X值')
plt.ylabel('Y值')
plt.legend()
plt.show()
```
5. 计算回归模型并获取拟合曲线(假设我们采用线性模型):
```python
model = ols('y ~ x', data={'x': x, 'y': y}).fit() # 使用ols函数计算线性回归
slope, intercept = model.params['x'], model.params['Intercept']
```
6. 添加回归线和拟合曲线到散点图上:
```python
x_fit = np.linspace(min(x), max(x), 100) # 扩展x轴范围以便展示拟合曲线
y_fit = slope * x_fit + intercept
plt.plot(x_fit, y_fit, label='回归线', color='red', linestyle='--')
plt.title(f'y = {slope:.2f}x + {intercept:.2f}')
plt.legend()
plt.show()
```
现在你就得到了包含散点图、回归方程以及拟合曲线的图形。
阅读全文