import pandas as pd import numpy as np import matplotlib.pyplot as plt file_name = 'E:/liuyuan/ceshi/zhongyao/flow/1Subject_1_4cmH20_norm_breaths1.csv' names = ['Time', 'Filtered Flow'] # 定义一个列表names,存储csv文件中各列的名称 data = pd.read_csv(file_name, names=names, skiprows=1) x = list() # 定义一个空列表x,用于存储时间数据。 y = list() # 定义一个空列表y,用于存储流量数据。 for i in range(len(data)): x.append(float(data.values[i][0])) y.append(float(data.values[i][1])) start_index = 0 end_index = 5029 # 修改为前53秒对应的数据点数 fig, ax = plt.subplots(figsize=(10, 6)) plt.xlim(0, 60) plt.ylim(-0.7, 0.7) time = np.arange(start_index, end_index) flow = np.arange(start_index, end_index) ax.set_xlabel('Time(s)', fontsize=15) # 设置x轴的标签为'Time(s)',字体大小为15。 ax.set_ylabel('Filtered Flow(L/s)', fontsize=15) ax.set_title('Breath Flow Waveform ', fontsize=15) flow = data['Filtered Flow'][start_index:end_index] ax.plot(x[start_index:end_index], y[start_index:end_index]) # 绘制折线图,x轴为时间数据,y轴为流量数据。 plt.show() 为什么此代码读取的滤波波形和原来滤的波形不一样
时间: 2024-04-11 21:28:16 浏览: 63
python数据分析与可视化 import pandas as pd import numpy as np import m
根据你提供的代码,可以看出你读取的是一个名为'Filtered Flow'的列作为流量数据。在绘制折线图时,你使用了x[start_index:end_index]作为x轴数据,y[start_index:end_index]作为y轴数据。然而,在读取数据时,你将时间数据存储在了x列表中,将流量数据存储在了y列表中。
因此,绘制的折线图显示的x轴数据实际上是时间数据,而不是流量数据。如果你想要绘制滤波后的流量波形,可以将代码修改为:
```python
ax.plot(time, flow)
```
这样,x轴的数据将直接使用时间轴上的索引值(从start_index到end_index),而y轴的数据将使用滤波后的流量数据。
另外,请确保你读取的csv文件中的'Filtered Flow'列确实是滤波后的呼吸波形数据,以免出现数据不一致的情况。
阅读全文