matplotlib では、個別に作成されたサブプロットには個別の x 軸と y 軸があります。サブプロット間で軸を共有するには、通常、サブプロットの作成時に共有プロパティを指定することをお勧めします。
ただし、この記事では、サブプロットが既に作成された後に x 軸を共有する特定のシナリオについて説明します。これは、既存のサブプロットを生成するライブラリを使用する場合に発生する可能性があります。
作成後に 2 つのサブプロットの X 軸をリンクするには、sharex(ax) メソッドを使用します。
<code class="python">ax2.sharex(ax1)</code>
ここで、ax1 は目的の x 軸を持つサブプロット、ax2 は x 軸を共有するサブプロットです。
x 軸を共有した後、重複を避けるためにサブプロットの 1 つで x 目盛りラベルを無効にする必要があります。
<code class="python">ax1.set_xticklabels([]) # Disable x tick labels for ax1</code>
必要に応じて、次のことを行うこともできます。 2 番目のサブプロット (ax2) で autoscale() メソッドを使用して、y 軸のスケーリングを調整します。
2 つのサブプロットを作成し、それらの x 軸を事後共有する次のコードを考えてみましょう。 Creation:
<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>
このコードは 2 つのサブプロットを生成します。各サブプロットは独自の Y 軸を持ち、同じ X 軸を共有します。重複を避けるために、最初のサブプロットでは x 目盛りラベルが無効になっています。また、必要に応じて、Y 軸調整のために 2 番目のサブプロットに自動スケーリングを適用できます。
以上がMatplotlib サブプロットの作成後にその X 軸を共有するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。