Python查找峰值-错误的x轴

Python查找峰值-错误的x轴,python,matplotlib,scipy,Python,Matplotlib,Scipy,我得到了以下代码: Frequency = df['x [Hz]'] Spectrum = df['test_spec'] x = Spectrum peaks, _ = find_peaks(x, distance=20) plt.plot(peaks, x[peaks], "xr"); plt.plot(x); plt.legend(['distance']) plt.show() 可变“频率”包含5-315 HZ的第三波段倍频程频谱的频率。“频谱”包含相关的噪声压力

我得到了以下代码:

Frequency = df['x [Hz]']
Spectrum = df['test_spec']

x = Spectrum
peaks, _ = find_peaks(x, distance=20)
plt.plot(peaks, x[peaks], "xr"); plt.plot(x); plt.legend(['distance'])
plt.show()
可变“频率”包含5-315 HZ的第三波段倍频程频谱的频率。“频谱”包含相关的噪声压力级别。现在我想找到光谱中的峰值。我需要的值是峰值所在的频率

问题是,绘图显示的是一个x轴,其步长为0,5,10,15,但我想要一个x轴刻度,其频率保存在变量“Frequency”中

希望你能帮助我

感谢您的支持。

的文档可能有点混乱,因为它将其输入称为
x
,而在大多数情况下,输入将绘制在y轴上
find_peaks()
不关心x轴,假设它与数组索引相同(
0,1,2,…

要绘制曲线,需要在x轴上使用
频率
,在y轴上使用
频谱
。您可以通过将峰值用作两个阵列中的索引来可视化峰值:

导入matplotlib.pyplot作为plt
从scipy.signal导入查找\u峰值
将numpy作为np导入
频率=np.linspace(5315200)
Spectrum=np.random.randn(200).cumsum()
Spectrum+=1-Spectrum.min()
峰值,查找峰值(光谱,距离=20)
plt.绘图(频率[峰值]、频谱[峰值]、“xr”)
plt.绘图(频率、频谱)
plt.图例(['distance'])
plt.紧_布局()
plt.show()