python - 如何从python中的mathplot识别某个y值的所有x坐标值

标签 python numpy matplotlib audio scipy

我已经绘制了使用matplotlib和scipy从视频中提取的音频波形的频率与时间的关系图。

现在,我要确定频率(y坐标)的某个值(例如零,峰值正频率等)的所有时间(x坐标)值。
这是我的绘图代码:

sr, signal = wavfile.read(wave_file_path)

y = signal[:, 0] 
t = np.arange(len(y)) / float(sr)

plt.plot(t, y)
plt.xlabel('t')
plt.ylabel('y')
#plt.show()
plt.save("myplot.png")

我尝试了(np.interp(0, Signal,time)),但这仅给出了时间的第一个零频率值,而没有给出y坐标值的整个列表。只需提一下,我也尝试过print(np.where(t == 0.0)),我不确定这是否是正确的使用方式,因为每个wav文件的结果只有(array([0]),)
Here is a graph I have plotted from an audio file

这是我从音频文件中绘制的图表。
我保存了图而不是查看,因为我使用的是没有GUI的Linux服务器。
如果通过GUI有更简单的方法,那么我也可以尝试。

最佳答案

谢谢@Alexander Cécile。是的,我很晚才知道这一点。我设法通过yt列表的索引来获取所需的值。我只是通过使用matplotlib使基本列表迭代的操作变得复杂。

我有了使用mathplotlib的想法,因为我发现处理scipy的每个人都在使用mathplotlib绘制它们的点(峰值,+ ve峰值等),这根本不是我的用例。我在没有任何批判性思考的情况下发布此问题感到很愚蠢,不确定是否应该删除此问题,所以我在回答而不是发表评论。

关于python - 如何从python中的mathplot识别某个y值的所有x坐标值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59010585/

相关文章:

python - 在 vscode 中打开 ipynb 文件时,JSON 中的意外标记 # 在位置 0

python - 如何清理程序退出时的内容?

python - 在 Python 中向量化多维函数

matplotlib - 将 matplotlib 中的干图基线扩展到轴限制

python-2.7 - matplotlib.pyplot.plot() 和 matplotlib.pyplot.figure() 之间的区别?

python-2.7 - 设置轴高度 - 将轴高度拉伸(stretch)到图例高度

python - 如何修复Python中的 "<string> DeprecationWarning: invalid escape sequence"?

python - 嵌套操作的大 O 空间复杂度

python - numpy.polyfit 和 scipy.polyfit 有什么区别?

python - 数组上的 Cython 最小值和最大值