如果不使用plt.colorbar
时间: 2023-12-03 07:02:44 浏览: 31
如果不想使用`plt.colorbar()`方法添加颜色条,也可以手动设置图像的颜色映射。代码如下:
```python
import librosa.display
import matplotlib.pyplot as plt
import matplotlib.colors as colors
# 读取音频文件
audio_file = "sample.wav"
signal, sr = librosa.load(audio_file)
# 计算梅尔倒频谱
mel_spec = librosa.feature.melspectrogram(signal, sr=sr, n_mels=128)
# 将梅尔倒频谱转换为对数刻度
log_mel_spec = librosa.power_to_db(mel_spec, ref=np.max)
# 设置颜色映射
cmap = plt.get_cmap('coolwarm')
norm = colors.Normalize(vmin=log_mel_spec.min(), vmax=log_mel_spec.max())
# 可视化梅尔倒频谱
librosa.display.specshow(log_mel_spec, sr=sr, x_axis='time', y_axis='mel', cmap=cmap, norm=norm)
plt.title('Mel spectrogram')
plt.show()
```
这段代码使用`plt.get_cmap()`方法获取颜色映射,使用`colors.Normalize()`方法设置颜色映射的范围,然后将它们传递给`librosa.display.specshow()`方法。你可以根据自己的需求选择不同的颜色映射,例如'viridis'、'inferno'等。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)