ホームページ  >  記事  >  バックエンド開発  >  Matplotlib サブプロットの作成後にその X 軸を共有するにはどうすればよいですか?

Matplotlib サブプロットの作成後にその X 軸を共有するにはどうすればよいですか?

DDD
DDDオリジナル
2024-10-25 00:47:02327ブラウズ

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

作成後のサブプロットの X 軸の共有

matplotlib では、個別に作成されたサブプロットには個別の x 軸と y 軸があります。サブプロット間で軸を共有するには、通常、サブプロットの作成時に共有プロパティを指定することをお勧めします。

ただし、この記事では、サブプロットが既に作成された後に x 軸を共有する特定のシナリオについて説明します。これは、既存のサブプロットを生成するライブラリを使用する場合に発生する可能性があります。

作成後の軸の共有

作成後に 2 つのサブプロットの X 軸をリンクするには、sharex(ax) メソッドを使用します。

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

ここで、ax1 は目的の x 軸を持つサブプロット、ax2 は x 軸を共有するサブプロットです。

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。