[解決済み] サブプロット作成後、2つのサブプロットのX軸を共有する方法
2022-07-23 15:55:06
質問
2つのサブプロット軸を共有しようとしていますが、図が作成された後にX軸を共有する必要があります。 例えば、このような図を作成します。
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)
plt.plot(t,x)
ax2 = plt.subplot(212)
plt.plot(t,y)
# some code to share both x axis
plt.show()
コメントの代わりに、私は両方のX軸を共有するためにいくつかのコードを挿入します。
それを行うための手掛かりは見つかりませんでした。いくつかの属性があります
_shared_x_axes
と
_shared_x_axes
をチェックすると、図形の軸(
fig.get_axes()
と表示されるのですが、どのようにリンクさせればいいのかわかりません。
どのように解決するのですか?
軸を共有する通常の方法は、作成時に共有プロパティを作成することです。どちらかというと
fig=plt.figure()
ax1 = plt.subplot(211)
ax2 = plt.subplot(212, sharex = ax1)
または
fig, (ax1, ax2) = plt.subplots(nrows=2, sharex=True)
したがって、作成後の軸の共有は必要ないはずです。
しかし、もし何らかの理由で 軸を作成した後に共有する必要がある場合 (のような、いくつかのサブプロットを作成する別のライブラリを使用します)。 ここで のようないくつかのサブプロットを作成する別のライブラリを使用することが理由かもしれません)、まだ解決策があるでしょう。
を使う
ax1.get_shared_x_axes().join(ax1, ax2)
は2つの軸の間にリンクを作成します。
ax1
と
ax2
. 作成時の共有とは対照的に、軸の1つに対してxticklabelsを手動でオフに設定する必要があります(それが必要な場合)。
完全な例です。
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)
ax2 = plt.subplot(212)
ax1.plot(t,x)
ax2.plot(t,y)
ax1.get_shared_x_axes().join(ax1, ax2)
ax1.set_xticklabels([])
# ax2.autoscale() ## call autoscale if needed
plt.show()
関連
-
[解決済み] pandasのDataFrameから空のセルを含む行を削除する
-
[解決済み] Django のテストデータベースをメモリ上だけで動作させるには?
-
[解決済み] 辞書のキーと値を交換するにはどうすればよいですか?
-
[解決済み] SQLAlchemy: 日付フィールドをフィルタリングする方法は?
-
[解決済み] DataFrameに日付間の日数カラムを追加する pandas
-
[解決済み] Flask でグローバル変数はスレッドセーフか?リクエスト間でデータを共有するには?
-
[解決済み] Pythonの検索パスを他のソースに展開する
-
[解決済み] Pythonの文字列書式をリストで使う
-
[解決済み] PythonのRequestsモジュールを使ってWebサイトに "ログイン "するには?
-
[解決済み] Macにpythonモジュールをインストールする最も互換性のある方法は何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] PythonでのAWS Lambdaのインポートモジュールエラー
-
[解決済み] Flaskで1時間ごとに関数を実行するようにスケジュールするには?
-
[解決済み] Pythonのインスタンス変数とクラス変数
-
[解決済み] ファブリック経由でデプロイユーザとしてvirtualenvを有効化する
-
[解決済み] 文字列のリストを内容に基づいてフィルタリングする
-
[解決済み] Django 1.7で初期マイグレーションからマイグレートバックする方法は?
-
[解決済み] tensorflowのCPUのみのインストールでダイナミックライブラリ 'cudart64_101.dll' を読み込めなかった
-
[解決済み] Pythonでランダムなファイル名を生成する最良の方法
-
[解決済み] djangoのQueryDictをPythonのDictに変更するには?
-
[解決済み] pandasプロットでX軸の目盛りラベルを回転させる方法