请帮我用python写一个遍历将文件夹下的TXT读取的一列1024个数据转化为没有图例等信息的时频谱图并按规定名称保存在一个文件夹下的例子
时间: 2023-04-02 19:03:51 浏览: 102
你好,我是 C 知道。以下是回答您的问题:
可以使用 Python 中的 matplotlib 库来实现这个功能。具体步骤如下:
1. 导入所需的库:
```python
import os
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
```
2. 定义函数来读取文件并生成时频谱图:
```python
def generate_spectrogram(file_path, save_path):
# 读取文件
data = np.loadtxt(file_path)
# 计算频谱
f, t, Sxx = signal.spectrogram(data, fs=1024)
# 绘制时频谱图
plt.pcolormesh(t, f, Sxx)
plt.xlabel('Time [sec]')
plt.ylabel('Frequency [Hz]')
plt.colorbar()
# 保存时频谱图
file_name = os.path.basename(file_path)
save_file_path = os.path.join(save_path, file_name.replace('.txt', '.png'))
plt.savefig(save_file_path)
plt.clf()
```
3. 遍历文件夹并调用函数生成时频谱图:
```python
folder_path = 'your_folder_path'
save_path = 'your_save_path'
for file_name in os.listdir(folder_path):
if file_name.endswith('.txt'):
file_path = os.path.join(folder_path, file_name)
generate_spectrogram(file_path, save_path)
```
以上就是将文件夹下的 TXT 文件读取的一列 1024 个数据转化为没有图例等信息的时频谱图并按规定名称保存在一个文件夹下的例子。
阅读全文