Matplotlibで最初のX軸の下部に2番目のX軸を追加する方法
Matplotlibでは、twiny()メソッドを使うことで、最初のX軸(ax1)の下部に2番目のX軸(ax2)を簡単に追加できます。以下に具体的な手順とサンプルコードを紹介します。
実装手順
- 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
- gca()メソッドを使用して、現在の軸(ax1)を取得します。
- twiny()メソッドでY軸を共有する双子軸(ax2)を作成します。
- set_xticks()メソッドでX軸の目盛りを設定します。
- set_xlabel()メソッドで各軸(ax1・ax2)のラベルを設定します。
- show()メソッドを呼び出して、図を表示します。
サンプルコード
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
# 現在の軸を取得
ax1 = plt.gca()
# Y軸を共有する2番目のX軸を作成
ax2 = ax1.twiny()
# 2番目のX軸の目盛りを設定
ax2.set_xticks([1, 2, 3, 4, 5])
# 各X軸のラベルを設定
ax1.set_xlabel("X-axis 1")
ax2.set_xlabel("X-axis 2")
plt.show()実行結果
このコードを実行すると、図の上部に「X-axis 2」、下部に「X-axis 1」が表示され、2つの異なるX軸を持つグラフが描画されます。twiny()はデフォルトで新しい軸を上部に配置するため、結果として元のX軸が下部に残り、その上に2番目のX軸が追加された形になります。
補足:軸の位置を明示的に指定したい場合
より細かく制御したい場合は、secondary_xaxis()やspinesの位置調整を活用する方法もあります。例えば、ax2のスパイン位置を変更することで、2番目のX軸を任意の位置(下部など)に移動させることも可能です。状況に応じて使い分けると、複雑なデータ可視化にも柔軟に対応できます。
-
Matplotlibでハッチの線幅を変更する方法
Matplotlibでハッチ(網掛け)の線幅を変更したい場合は、rcParamsの「hatch.linewidth」パラメータを設定することで実現できます。この記事では、具体的な手順とサンプルコードをわかりやすく解説します。実装の手順図のサイズを設定し、サブプロット間および周囲のパディングを調整します。NumPyを使用して、x および y = sin(x) のデータポイントを作成します。plt.rcParams[hatch.linewidth] を使って、ハッチの線幅を設定します。scatter() メソッドを使用し、「/」ハッチが付いた正方形マーカーで、設定した線幅を適用しながらxとyのデー
-
【Python】MatplotlibでX軸の値(目盛りラベル)を設定する方法
Python の Matplotlib でグラフの X 軸の値(目盛りラベル)を自由に設定したい場合は、plt.xticks() メソッドを使うのが最も簡単です。以下の手順で実装できます。 X軸の値を設定する手順 x と y のデータポイントを格納する2つのリストを作成します。 range(len(x)) を使って、目盛りの基準となるインデックス(xticks の範囲)を取得します。 plot() メソッドで、インデックスのリストと y データを使って折れ線グラフを描画します。 xticks() メソッドを使い、デフォルトの目盛りを実際の X 軸の値に置き換えます。 show() メソッドで