[matplotlib] 48. textのrotationにhorizontalalignment, verticalalignmentが及ぼす影響

matplotlib

はじめに

matplotlibでtextを回転させる際の、horizontalalignment(ha)とverticalalignment(va)のテキスト配置への影響について解説します。これらのパラメータがテキストの回転と組み合わさることでどのように表示位置が変化するかを実例で示します。

コード

コードをダウンロード(.pyファイル) コードをダウンロード(.ipynbファイル)

解説

モジュールのインポート

テキスト生成関数

ax.text(0.5, 0.5, ‘text 0’, props, rotation=0)のように記述すると、グラフの座標(x,y) = (.5,.5)の位置に「text 0」というテキストが表示されます。rotationパラメータでテキストの回転角度を度数法(°:degree)で指定できます。

この関数内では、テキスト表示に加えて散布図のプロットと目盛りの設定も行っています。

関数内で散布図のプロットと目盛りの設定もしている。

テキストを囲む四角の設定

fcはfacecolorの略で、0.9に設定すると薄い灰色の背景色になります。

padはテキストとボックスの線との間隔を指定するパラメータで、値を小さくするとテキストとボックスの間隔が狭くなります。

図の表示

‘ha’: ‘center’, ‘va’: ‘center’の設定は座標の基準点を指定するものです。両方とも’center’に設定すると、指定したx,y座標がテキストの中心位置になります。

下のグラフでは、’ha’: ‘center’, ‘va’: ‘bottom’と設定しているため、テキストの回転の様子が異なります。

その他のha, va の場合

‘ha’: ‘right’, ‘va’: ‘top’ と’ha’: ‘left’, ‘va’: ‘top’の場合

‘ha’: ‘right’, ‘va’: ‘bottom’ と’ha’: ‘left’, ‘va’: ‘bottom’の場合

まとめ

matplotlibでテキストを回転させる際、horizontalalignmentとverticalalignmentの設定は回転後のテキスト位置に大きく影響します。特に回転角度が0°以外の場合、これらのパラメータの挙動を理解することで、意図した位置に正確にテキストを配置できます。用途に応じて適切な組み合わせを選択することが重要です。

参考

Default text rotation demonstration — Matplotlib 3.1.0 documentation

コメント