请帮我用python写一个遍历将文件夹下的TXT读取的一列1024个数据转化为没有图例等信息的时频谱图并保存为png的例子
时间: 2023-04-02 11:03:49 浏览: 89
你好,我可以回答这个问题。以下是一个示例代码,可以实现将文件夹下的TXT读取的一列1024个数据转化为没有图例等信息的时频谱图并保存为png:
```python
import os
import numpy as np
import matplotlib.pyplot as plt
# 定义函数,用于绘制时频谱图
def plot_spectrogram(data, fs, nfft=256, noverlap=128):
fig, ax = plt.subplots(figsize=(8, 4))
Pxx, freqs, bins, im = ax.specgram(data, NFFT=nfft, Fs=fs, noverlap=noverlap)
ax.axis('off')
fig.savefig('spectrogram.png', bbox_inches='tight', pad_inches=)
# 遍历文件夹下的所有TXT文件
for filename in os.listdir('folder'):
if filename.endswith('.txt'):
filepath = os.path.join('folder', filename)
# 读取文件中的数据
data = np.loadtxt(filepath)
# 绘制时频谱图并保存为png
plot_spectrogram(data, fs=100, nfft=256, noverlap=128)
```
这个代码会遍历文件夹下的所有TXT文件,读取文件中的数据,然后调用`plot_spectrogram`函数绘制时频谱图并保存为png。你可以根据需要修改函数中的参数,比如`nfft`和`noverlap`可以控制时频谱图的分辨率和平滑程度,`fs`可以控制采样率。
阅读全文