【问题标题】:How do I add colors to my spectrogram?如何为我的频谱图添加颜色?
【发布时间】:2018-05-28 02:01:47
【问题描述】:

所以我发现下面的代码会吐出一个频谱图。但是,我想通过颜色图或其他方法为其添加一些随机颜色。我已经阅读了 cmap 文档,但没有理解任何内容。

代码:

import matplotlib.pyplot as plt
from scipy.io import wavfile

def graph_spectrogram(wav_file):
    rate, data = get_wav_info(wav_file)
    nfft = 256  
    fs = 256    
    pxx, freqs, bins, im = plt.specgram(data, nfft,fs)
    plt.axis('off')
    plt.savefig('sp_xyz.png',
                dpi=100, # Dots per inch
                frameon='false',
                aspect='normal',
                bbox_inches='tight',
                pad_inches=0) 
    plt.show()

def get_wav_info(wav_file):
    rate, data = wavfile.read(wav_file)
    return rate, data

if __name__ == '__main__': # Main function
    wav_file = 'song.wav' 
    graph_spectrogram(wav_file)

提前感谢您的帮助!

【问题讨论】:

    标签: python matplotlib colors colormap spectrogram


    【解决方案1】:

    您可以在 specgram 命令本身中添加 cmap 参数。请参阅specgram docs。您可以从Colormaps reference 中选择适合您的颜色图。一个示例命令是:

    pxx, freqs, bins, im = plt.specgram(data, nfft, fs, cmap='plasma')
    

    如果需要,您还可以在侧面添加colorbar,显示每种颜色的含义。

    【讨论】:

      猜你喜欢
      • 2022-12-10
      • 1970-01-01
      • 1970-01-01
      • 2021-08-15
      • 2017-12-13
      • 2019-06-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多