Python读取Excel数据绘制时域图和频域图
使用Python读取Excel数据绘制时域图和频域图
本文将介绍如何使用Python读取Excel表格数据,并绘制时域图和频域图。代码示例展示了如何使用pandas库读取数据,matplotlib库绘制图像,以及numpy库进行傅里叶变换。
代码示例
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
# 读取Excel数据
data = pd.read_excel('your_excel_file.xlsx')
# 获取采样时间和输出电压列的数据
time = data.iloc[:, 0] # 第一列采样时间
voltage = data.iloc[:, 1:5] # 第2到5列输出电压
# 绘制时域图
plt.plot(time, voltage)
plt.xlabel('采样时间')
plt.ylabel('输出电压')
plt.legend(voltage.columns) # 添加图例,显示每列的名称
plt.show()
# 对输出电压进行傅里叶变换
spectrum = np.fft.fft(voltage, axis=0) # 计算频谱
frequency = np.fft.fftfreq(len(voltage), time[1]-time[0]) # 计算频率
# 绘制频域图
plt.plot(frequency, np.abs(spectrum))
plt.xlabel('频率')
plt.ylabel('振幅')
plt.legend(voltage.columns) # 添加图例,显示每列的名称
plt.show()
请确保将'your_excel_file.xlsx'替换为实际的Excel文件路径。
代码说明
- 读取Excel数据: 使用
pandas.read_excel()函数读取Excel文件数据。 - 获取数据: 使用
iloc属性获取指定列的数据,第一列为采样时间,第二到第五列为输出电压。 - 绘制时域图: 使用
matplotlib.pyplot.plot()函数绘制时域图,横轴为采样时间,纵轴为输出电压。 - 傅里叶变换: 使用
numpy.fft.fft()函数对输出电压进行傅里叶变换,计算频谱。 - 计算频率: 使用
numpy.fft.fftfreq()函数计算频率。 - 绘制频域图: 使用
matplotlib.pyplot.plot()函数绘制频域图,横轴为频率,纵轴为振幅。
总结
本文介绍了使用Python读取Excel数据并绘制时域图和频域图的步骤和代码示例。希望对您有所帮助。如有任何疑问,请随时提问。
原文地址: https://www.cveoy.top/t/topic/biI3 著作权归作者所有。请勿转载和采集!