73354


python3にて、matplotlib (Ver.3.3.3)を使用してスペクトログラムを書こうとしています。  
例えばカラーマップを指定し、信号`sig_1`のスペクトログラムを作成し保存したい場合、以下のように書いて動作することを確認しました。

### コード1

[code]

    fig = plt.figure()
    pxx, freq, bins, t = plt.specgram(sig_1 ,Fs = 48000, cmap = 'jet')
    plt.colorbar()
    fig.savefig('spectrogram_1.png')
    
[/code]

一方、今行いたいのは、信号`sig_1`と信号`sig_2`のスペクトログラムを目で見て比較することです。そこでコード1を使って

### コード2

[code]

    fig_1 = plt.figure()
    pxx, freq, bins, t = plt.specgram(sig_1 ,Fs = 48000, cmap = 'jet')
    plt.colorbar()
    fig_1.savefig('spectrogram_1.png')
    
    fig_2 = plt.figure()
    pxx, freq, bins, t = plt.specgram(sig_2 ,Fs = 48000, cmap = 'jet')
    plt.colorbar()
    fig_2.savefig('spectrogram_2.png')
    
[/code]

としようと思ったのですが、カラーマップの色の縮尺が自動で調整されてしまうようで、`spectrogram_1.png`と`spectrogram_2.png`とで色合いを見て単純に比較することができません。例えばsig_2にsig_1
*
10を代入してみても、描画されるスペクトログラムの色合いは同じで、colorbarを表示させると、各色に対応する数値のほうがずれてしまいまっています[※]。これを、colorbarの各色に対応する数値は同じにして、描画の色合いが変わるようにしたい[※※]です。

どのようにすれば良いか、方法をご存じの方教えてもらえないでしょうか？  
（[※]もしくは[※※]を上手く言語化できず、上手く検索ができず、このような長文になってしまいました。読みにくくてすみません。）


CC BY-SA 4.0
2021-01-16T16:01:12.653
73350
2021-01-17T02:23:55.853
2021-01-16T16:27:51.040
3060
30785
question
python python3 matplotlib
matplotlibのcolormapの色を絶対的な値で決めたい


頂いたコメント（コメント1、[kunif](https://ja.stackoverflow.com/users/26370/kunif)さんより）で解決したため、解決済み扱いにするために自分でコメントを書いておきます。

> 頂いたコメントの最後の[Set Colorbar Range in
> matplotlib](https://stackoverflow.com/q/3373256/9014308)が上手く動きました！  
>  `pxx, freq, bins, t = plt.specgram(sig_1 ,Fs = 48000, cmap = 'jet', vmin =
> -40.0, vmax = 40.0)`のようにすることで指定することができました。


CC BY-SA 4.0
2021-01-17T02:01:57.143
73354
2021-01-17T02:23:55.853
2021-01-17T02:23:55.853
30785
30785
73350
answer