首頁 > 後端開發 > Python教學 > 如何設定 Y 軸範圍以豐富多個子圖佈局中的視覺化?

如何設定 Y 軸範圍以豐富多個子圖佈局中的視覺化?

Patricia Arquette
發布: 2024-10-18 12:25:03
原創
460 人瀏覽過

How to Set Y-Axis Range to Enrich Visualization in Multiple Subplot Layouts?

設定子圖軸範圍

背景

在視覺化中處理多個子圖時,有必要控制每個子圖的軸範圍以確保正確的數據表示。此問題探討如何在雙子圖佈局中設定第二個子圖的 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中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板