gpt4 book ai didi

python - 如何去除情节中不必要的直线?

转载 作者:太空宇宙 更新时间:2023-11-04 06:08:32 25 4
gpt4 key购买 nike

下面数组freq中的数据没有排序。

有什么方便的方法可以删除我的图中从左到右不必要的直线吗?

import pylab as pl
import numpy as np
timepoints=np.loadtxt("timesequence",usecols=(1,),unpack=True,delimiter=",")
t=np.histogram(timepoints,bins=500)[0]
sp = np.fft.fft(t)
freq = np.fft.fftfreq(t.shape[-1],d=0.0005)
print freq
pl.plot(freq*2*np.pi, np.sqrt(sp.real**2+sp.imag**2))
pl.show()

enter image description here

最佳答案

如您所见,绘图从峰值零点开始,然后向右移动,然后跳到最左侧并返回中间。它不是一种简单的从左到右的时间序列(如果您认为它是这样的话)。

一种解决方法是将“freq”中的正点与“freq”中的负点分开绘制。将您的 pl.plot 代码行替换为以下内容:

mask = freq>=0
pl.plot(freq[mask]*2*np.pi, np.sqrt(sp[mask].real**2+sp[mask].imag**2))
pl.plot(freq[~mask]*2*np.pi, np.sqrt(sp[~mask].real**2+sp[~mask].imag**2))

ps,您需要设置颜色以使其匹配。

关于python - 如何去除情节中不必要的直线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20390778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com