python怎么在散点图加拟合线
时间: 2023-12-03 09:45:14 浏览: 139
在 Python 中,我们可以使用 `numpy` 和 `matplotlib` 库来绘制散点图,并添加拟合曲线。
首先,我们需要导入这两个库:
```python
import numpy as np
import matplotlib.pyplot as plt
```
然后,我们可以使用 `numpy` 生成一些随机数据来绘制散点图:
```python
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 3, 4, 5, 6])
plt.scatter(x, y)
plt.show()
```
接下来,我们可以使用 `numpy.polyfit()` 函数来拟合曲线,并使用 `numpy.poly1d()` 函数创建一个多项式对象:
```python
z = np.polyfit(x, y, 1)
p = np.poly1d(z)
```
其中,`np.polyfit(x, y, 1)` 中的参数 `1` 表示拟合一次多项式,如果要拟合二次或更高次多项式,可以将参数改为 `2`、`3` 等。
最后,我们可以使用 `matplotlib` 的 `plot()` 函数来绘制拟合曲线:
```python
plt.scatter(x, y)
plt.plot(x, p(x), "r--")
plt.show()
```
其中,`p(x)` 表示使用多项式对象 `p` 计算出的拟合曲线上的点的 y 坐标。`"r--"` 表示绘制红色虚线。
完整的代码如下:
```python
import numpy as np
import matplotlib.pyplot as plt
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 3, 4, 5, 6])
plt.scatter(x, y)
z = np.polyfit(x, y, 1)
p = np.poly1d(z)
plt.plot(x, p(x), "r--")
plt.show()
```
阅读全文