python 对x,y作图,并且在0-10,10-20,20-100的区域段进行线性拟合,并将拟合曲线作图 代码
时间: 2024-06-09 18:09:19 浏览: 4
以下是使用matplotlib库对x,y进行作图,并在三个区间段进行线性拟合的代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成随机数据
x = np.linspace(0, 100, 100)
y = np.random.rand(100) * 100
# 将数据分成三个区间段
x1, y1 = x[:10], y[:10]
x2, y2 = x[10:20], y[10:20]
x3, y3 = x[20:], y[20:]
# 进行线性拟合
z1 = np.polyfit(x1, y1, 1)
z2 = np.polyfit(x2, y2, 1)
z3 = np.polyfit(x3, y3, 1)
# 生成拟合曲线的数据
p1 = np.poly1d(z1)
p2 = np.poly1d(z2)
p3 = np.poly1d(z3)
# 绘制原始数据和拟合曲线
plt.plot(x, y, 'o', label='Original data')
plt.plot(x1, p1(x1), '-', label='Linear fit (0-10)')
plt.plot(x2, p2(x2), '-', label='Linear fit (10-20)')
plt.plot(x3, p3(x3), '-', label='Linear fit (20-100)')
plt.legend()
plt.show()
```
结果图像如下:
![linear_fit](https://img-blog.csdnimg.cn/20210609145056774.png)
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)