在列表(大小 1024)上执行 FFT 和 FFTShift 之后,我现在正在尝试绘制输出。我在尝试以我想要的方式显示数据时遇到了一些问题。
目前 x 轴显示 bin 编号。在 FFT 移位之后,频率 0 Hz 位于 bin 编号 512 处,每个 bin 值额外增加 2000/1024 Hz,因此 bin 0 应为 -1000 Hz,bin 1023 应为 +1000 Hz;bin 1 应为 -998.05 Hz,bin 1022 应为 +998.05,以此类推。
我试过使用 xticks 来显示这个:
xlocs, xlabs = plt.xticks()
plt.xticks([0,(len(a)*0.25),(len(a))/2,(len(a)*0.75),len(a)],[(-1000),(-500),0,500,1000])
但是后来我无法实际读取图表上特定点的 x 值,而只显示 y 值和 x=。有什么办法可以解决这个问题吗?
此外,我还想将整个图表向左平移 302 个 bin。无论如何我可以做到这一点吗?