5
これは私の最初の質問stackoverflow上で私は巨大な間違いをしないことを願っています。 私は1 Hzのサンプリングレートで時系列のセットを分析しています。彼らのスペクトルを調べるためにフーリエ変換をプロットする必要があります。Pythonプロット頻度fft.rfft
ここでは、コードの私の作品です:
from obspy.core import read
import numpy as np
import matplotlib.pyplot as plt
st = read('../SC_noise/*HEC_109C*_s', format='SAC')
stp = st.copy()
stp.detrend('linear')
stp.taper('cosine')
for tr in stp:
dataonly = tr.data
spec = np.fft.rfft(dataonly)
plt.plot(abs(spec))
plt.show()
これだけで正常に動作します:プロットは、私はSACを使用して取得同じです。しかし、xaxisは周波数を表示しません。私は少し歩き回り、さまざまなアイデアを見つけました:誰も働いていません。 FFTの場合、例えば (ここで私はRFFTを使用しています)これは
samp_rate=1
freq = np.fft.fftfreq(len(spec), d=1./samp_rate)
仕事をする必要があります。しかし、私はそれを使用する場合、それは私に負の周波数を与えるだろう。
誰かがアイデアを持っていますか? 大変ありがとうございました!
ピエロ
ありがとうございます!これは完全に機能しました! – basetta81