在 matplotlib 中,獨立建立的子圖具有單獨的 x 軸和 y 軸。要在子圖之間共用軸,通常建議在建立子圖時指定共用屬性。
但是,本文討論了創建子圖後共享 x 軸的特定場景。使用產生預先存在的子圖的函式庫時可能會出現這種情況。
要在建立後連結兩個子圖的x 軸,請使用sharex(ax) 方法:
<code class="python">ax2.sharex(ax1)</code>
其中ax1 是具有所需x 軸的子圖,ax2 是要共享x 軸的子圖。
共用 x 軸後,您需要停用其中一個子圖上的 x 刻度標籤以避免重複。
<code class="python">ax1.set_xticklabels([]) # Disable x tick labels for ax1</code>
根據需要,您可能想要在第二個子圖 (ax2) 上使用 autoscale() 方法來調整其 y 軸縮放。
考慮以下程式碼,程式碼建立兩個子圖,然後共用它們的x 軸建立:
<code class="python">import numpy as np import matplotlib.pyplot as plt t = np.arange(1000) / 100 x = np.sin(2 * np.pi * 10 * t) y = np.cos(2 * np.pi * 10 * t) fig = plt.figure() ax1 = plt.subplot(211) ax1.plot(t, x) ax2 = plt.subplot(212) ax2.plot(t, y) ax2.sharex(ax1) ax1.set_xticklabels([]) # ax2.autoscale() # Uncomment for autoscaling plt.show()</code>
此程式碼產生兩個子圖,每個子圖都有自己的y 軸,但共用相同的x 軸。第一個子圖上的 x 刻度標籤被停用以避免重複。並且,如有必要,可以將自動縮放應用於第二個子圖以進行 y 軸調整。
以上是建立 Matplotlib 子圖後如何共用 X 軸?的詳細內容。更多資訊請關注PHP中文網其他相關文章!