在視覺化中處理多個子圖時,有必要控制每個子圖的軸範圍以確保正確的數據表示。此問題探討如何在雙子圖佈局中設定第二個子圖的 y 軸範圍。當 FFT 圖出現異常尖峰,導致所需資料不可見時,就會出現此問題。
要解決此問題,請在繪圖後使用 pylab.ylim([bottom, top])已建立。底部和頂部參數分別定義軸範圍的下限和上限。
<code class="python">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()</code>
1。從 Pylab 遷移到 Matplotlib 的 pyplot
從 2021 年開始,Matplotlib 強烈建議不要使用 pylab。相反,建議專門導入pyplot:
<code class="python">from matplotlib import pyplot as plt</code>
2.使用plt.ylim() 而不是pylab.ylim()
使用pyplot 設定y 軸範圍的正確語法是plt.ylim()。其用法與 pylab.ylim() 類似。
<code class="python">plt.ylim(0, 100) </code>
3.設定最小X 軸值
除了調整y 軸範圍外,還可以考慮設定最小x 軸值以確保FFT 圖的整個範圍都可見。
<code class="python">plt.xlim(1, 1000)</code>
以上是如何設定 Y 軸範圍以豐富多個子圖佈局中的視覺化?的詳細內容。更多資訊請關注PHP中文網其他相關文章!