使用python将excel中的矩阵做SG平滑处理,并将多条曲线图绘制到一个图里
时间: 2024-06-11 20:05:36 浏览: 14
以下是使用Python实现将Excel中的矩阵做SG平滑处理,并将多条曲线图绘制到一个图里的示例代码:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from scipy.signal import savgol_filter
# 读取Excel数据
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
# 将数据转换为矩阵
data = np.array(df)
# 设置SG平滑的参数
window_size = 5
poly_order = 3
# 对每一列数据进行SG平滑处理
for i in range(data.shape[1]):
data[:, i] = savgol_filter(data[:, i], window_size, poly_order)
# 绘制多条曲线图
fig, ax = plt.subplots()
for i in range(data.shape[1]):
ax.plot(data[:, i], label='Curve {}'.format(i+1))
ax.legend()
plt.show()
```
其中,示例数据存储在名为“data.xlsx”的Excel文件的第一个工作表中,其内容类似于以下示例:
| | A | B | C |
|---|---|---|---|
| 1 | 1 | 2 | 3 |
| 2 | 2 | 4 | 6 |
| 3 | 3 | 6 | 9 |
| 4 | 4 | 8 | 12 |
| 5 | 5 | 10 | 15 |
在运行代码后,程序将读取Excel中的数据,并将其转换为NumPy数组。然后,程序使用SciPy库中的`savgol_filter`函数对每一列数据进行SG平滑处理。最后,程序使用Matplotlib库绘制多条曲线图,并在图例中标识每条曲线的名称。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)