ビジュアリゼーション内で複数のサブプロットを操作する場合、個々のサブプロットの軸範囲を制御する必要があります。適切なデータ表現を保証するため。この質問では、2 つのサブプロット レイアウト内の 2 番目のサブプロットの y 軸範囲を設定する方法を検討します。この問題は、FFT プロットに異常値のスパイクが見られ、目的のデータが見えなくなったときに発生します。
この問題に対処するには、プロットの後に pylab.ylim([bottom, top]) を使用します。が作成されました。一番下の引数と一番上の引数は、軸の範囲の下限と上限をそれぞれ定義します。
import numpy, scipy, pylab, random
xs = []
rawsignal = []
with open("test.dat", 'r') as f:
for line in f:
if line[0] != '#' and len(line) > 0:
xs.append(int(line.split()[0]))
rawsignal.append(int(line.split()[1]))
h, w = 3, 1
pylab.figure(figsize=(12,9))
pylab.subplots_adjust(hspace=.7)
pylab.subplot(h,w,1)
pylab.title("Signal")
pylab.plot(xs,rawsignal)
pylab.subplot(h,w,2)
pylab.title("FFT")
fft = scipy.fft(rawsignal)
pylab.plot(abs(fft))
pylab.ylim([0,1000]) # Set the y-axis range
pylab.savefig("SIG.png",dpi=200)
pylab.show()
1. Pylab から Matplotlib の pyplot
への移行 2021 年現在、Matplotlib では pylab の使用を強く推奨していません。代わりに、具体的に importpyplot を実行することをお勧めします:
from matplotlib import pyplot as plt
2。 pylab.ylim() の代わりに plt.ylim() を使用する
pyplot を使用して y 軸範囲を設定するための正しい構文は plt.ylim() です。その使用法は、pylab.ylim().
plt.ylim(0, 100)
3 と似ています。 X 軸の最小値を設定する
Y 軸範囲の調整に加えて、FFT プロットの全範囲が確実に表示されるように X 軸の最小値を設定することを検討してください。
plt.xlim(1, 1000)
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3