MatplotlibでX軸の目盛りラベル(xtickラベル)をボックスで囲む方法
Matplotlibでは、set_bbox()メソッドを使うことで、X軸の目盛りラベル(xtickラベル)に背景色や枠線を持つボックスを簡単に追加できます。グラフを見やすく装飾したい場合に便利なテクニックです。
実装手順
新しい図(figure)を作成するか、既存の図をアクティブにします。
plt.gca() を使って、図の現在の軸(axis)を取得します。
X軸とY軸の目盛りの位置をそれぞれ「bottom」と「left」に設定します。
スパイン(軸線)の位置を設定します。ここでは、下と左のスパインをデータ座標0の位置に配置します。
xtickラベルをボックスで囲むために、get_xticklabels() でラベルを反復処理し、各ラベルに対して set_bbox() メソッドを呼び出します。辞書形式で背景色(facecolor)、枠線の色(edgecolor)、透明度(alpha)などを指定できます。
最後に plt.show() メソッドで図を表示します。
サンプルコード
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
plt.figure()
ax = plt.gca()
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data', 0))
ax.spines['left'].set_position(('data', 0))
for label in ax.get_xticklabels():
label.set_fontsize(12)
label.set_bbox(dict(facecolor='red', edgecolor='black', alpha=0.7))
plt.show()実行結果
上記のコードを実行すると、以下のような出力が得られます。X軸の各目盛りラベルが赤い背景と黒い枠線のボックスで囲まれて表示されます。

ポイント解説
set_bbox() の引数として渡す辞書には、以下のようなプロパティを指定できます。
facecolor: ボックスの背景色(例:'red'、'yellow'、'#00ff00'など)
edgecolor: ボックスの枠線の色
alpha: 透明度(0.0〜1.0)。値が小さいほど透過します。
boxstyle: ボックスの形状(例:'round'で角丸にできます)
同様の手法はY軸の目盛りラベルにも適用可能です。その場合は get_yticklabels() を使って反復処理してください。
-
Matplotlibのサブプロットで目盛りラベルを回転させる方法
Matplotlibのサブプロットで目盛りラベル(ティックラベル)を回転させるには、set_xticklabels() または set_yticklabels() メソッドに rotation 引数を指定します。 目盛りラベルを回転させる手順 軸の目盛りとして使用する数値のリスト(x)を作成します。 subplot() を使って現在の図にサブプロットを追加し、その軸オブジェクトを取得します。 set_xticks() および set_yticks() メソッドを使い、手順1で作成したリスト x をもとにX軸・Y軸それぞれに目盛りを設定します。 set_xticklabels() と set_
-
MatplotlibでRectangle(長方形)に色を設定する方法
Matplotlibで長方形(Rectangle)に色を設定するには、以下の手順に従います。手順figure() メソッドを使用して、新しい図(Figure)を作成するか、既存の図をアクティブにします。add_subplot() メソッドを使用して、サブプロット構成の一部として図に ~.axes.Axes を追加します。長方形は、アンカーポイント(基準座標)と幅・高さを指定することで定義できます。作成したRectangleパッチを add_patch() でプロットに追加します。xlim() および ylim() メソッドを使用して、x軸とy軸の表示範囲を設定します。図を表示するには、show