python - 绘制频谱图但返回奇怪的结果
问题描述
我已经使用matplotlib.pyplot.specgram
函数将一些音频转换为频谱图图像。
对图像进行一些操作后,现在我想将其保存为图像文件。
我的简单想法是,由于数据已经是 numpy 数组,我可以绘制它们。
代码是:
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
import imageio
im = imageio.imread(path/0.png')
plt.plot(im)
plt.show()
但是,它会返回非常奇怪的图像,如图所示。
图像看起来很奇怪,显然没有被识别为频谱图
原图是带形状的灰度图
(256, 128)
,怎么返回的图有不同的颜色?我现在该怎么办?是不是参数设置错误导致了结果?
解决方案
类似于https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.spectrogram.html中的演示,您应该使用 plt.pcolormesh 函数而不是 plt.plot。目前,您正在分别绘制频谱图的每条线。
推荐阅读
- python - matplotlib 表格中单元格内的文本
- python - 在我的文本文件 python 顶部创建的空行
- c# - 并行执行永无止境的多个任务
- powerbi - 条件格式前 2 行表格视觉功率 BI
- c# - 网格中的画布旋转
- php - 如何在 PHP 中翻译 URL 地址?
- mysql - 为小型网站定义各种内容类型之间的数据库关系 - 关于结构的建议?
- function - 默认表达式可以引用函数声明中的其他输入吗?
- kotlin - Pass a reference to a class that is not instantiated
- node.js - 如何使用 ExpressJs 服务器和 AngularJs 为前端设置 NodeJs 应用程序的基本 URL?