首頁 >後端開發 >Python教學 >建立 Matplotlib 子圖後如何共用 X 軸?

建立 Matplotlib 子圖後如何共用 X 軸?

DDD
DDD原創
2024-10-25 00:47:02428瀏覽

How Can I Share X Axes of Matplotlib Subplots After Their Creation?

建立後共享子圖的 X 軸

在 matplotlib 中,獨立建立的子圖具有單獨的 x 軸和 y 軸。要在子圖之間共用軸,通常建議在建立子圖時指定共用屬性。

但是,本文討論了創建子圖後共享 x 軸的特定場景。使用產生預先存在的子圖的函式庫時可能會出現這種情況。

建立後軸共享

要在建立後連結兩個子圖的x 軸,請使用sharex(ax) 方法:

<code class="python">ax2.sharex(ax1)</code>

其中ax1 是具有所需x 軸的子圖,ax2 是要共享x 軸的子圖。

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn