python - 修剪 matplotlib 功率谱图

标签 python plot matplotlib psd

我的第一个 stackoverflow 问题,希望我做对了..

我正在尝试构建功率谱密度图表 (matplotlib.pyplot.psd),并且在绘图之前需要丢弃频谱两端的 256 个 bin。对于我的任务,我需要实际删除数据点,而不是简单地限制 x 轴范围。

psd 函数返回两个数组的元组,我想我可以简单地删除数组的元素,然后调用 show()。但似乎不起作用。

from matplotlib.pyplot import *
import numpy as np

#put some dummy data into s
s=np.vectorize(complex)(range(2048),range(2048))

x=psd(s, 2048, 194171, window=np.bartlett(2048),Fc=14050000)

#trim x
del x[0][-256:]
del x[0][:256]
del x[1][-256:]
del x[1][:256]

show()

这给出:

Traceback (most recent call last):
  File "dummy-fft.py", line 10, in <module>
    del x[0][-256:]
ValueError: cannot delete array elements

是否有更好的方法来截断 psd 图?

最佳答案

您可以使用切片来获取您想要的部分,而不是删除头部和尾部:

from matplotlib.pyplot import *
import numpy as np

#put some dummy data into s
s=np.vectorize(complex)(range(2048),range(2048))

power, freq=psd(s, 2048, 194171, window=np.bartlett(2048),Fc=14050000)
figure()
semilogy(freq[256:-256], power[256:-256])
show()

关于python - 修剪 matplotlib 功率谱图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12311127/

相关文章:

python - 仅在二级索引上的 Pandas 多索引切片

python - 没有 Pyramid 的变色龙宏

matlab - 如何强制 matlab 在图 X 和 Y 上显示足够的数字?

matplotlib - 绘制3D非正交坐标

python - 传感器读取覆盆子数据

python - 使用 numpy genfromtxt 从混合数据类型文件导入大整数

python - Matplotlib 填充缺失的 Tic 标签

python - matplotlib - 在 y 轴上为每组创建 x 轴上的条形图

python - Matplotlib 离线绘图

python - 如何更改给定图像文件的现有绘图的颜色图?