Python
 Computer >> コンピューター >  >> プログラミング >> Python

Matplotlibで凡例テキストの配置(アライメント)を設定する方法

Matplotlibの凡例(legend)内にあるテキストの配置を調整したい場合、legend.get_texts()で取得した各テキストオブジェクトに対してset_ha()メソッドを使うことで、水平方向のアライメントを自由に変更できます。

以下の手順で、凡例テキストの配置を設定することができます。

  • 図のサイズを設定し、figure.autolayoutを有効にしてサブプロット間および周囲の余白を自動調整します。

  • NumPyを使用してx軸のデータポイントを作成します。

  • plot()メソッドを使って xsin(x)cos(x) の曲線を描画し、それぞれにラベルを付けます。

  • legend()メソッドで凡例を図の右上に配置します。

  • legend.get_texts()で取得したテキストオブジェクトを反復処理し、set_ha('left')によって水平方向の配置を「左揃え」に設定します。

  • show()メソッドを呼び出して、図を画面に表示します。

コード例

import numpy as np
from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

x = np.linspace(-5, 5, 100)

plt.plot(x, np.sin(x), label="$y=sin(x)$")
plt.plot(x, np.cos(x), label="$y=cos(x)$")

legend = plt.legend(loc='upper right')

for t in legend.get_texts():
    t.set_ha('left')

plt.show()

実行結果

Matplotlibで凡例テキストの配置(アライメント)を設定する方法

このようにset_ha()の引数には 'left'(左揃え)、'center'(中央揃え)、'right'(右揃え)を指定できます。凡例ボックス内のテキスト位置を揃えたい場合や、ラベルの長さが異なる複数の系列を見やすく整理したい場合に便利なテクニックです。

  1. Matplotlibで軸ラベルと凡例に下付き文字(サブスクリプト)を表示する方法

    Matplotlibでは、TeX/LaTeX形式の数式記法($...$)を利用することで、軸ラベルや凡例に下付き文字(サブスクリプト)や上付き文字(スーパースクリプト)を簡単に表示できます。この記事では、その具体的な手順をコード例とともに解説します。 実装手順 データの作成: NumPyを使ってxとyのデータポイントを作成します。 プロット: 上付き文字を含むラベルを付けて、xとyのデータポイントをプロットします。 軸ラベルの設定: 下付き文字を含むテキストで xlabel() と ylabel() を使用します。 凡例の配置: legend() メソッドを使ってプロットに凡例を配置します

  2. Python Matplotlibで凡例アイテムを手動で追加する方法

    PythonのMatplotlibでは、plt.legend()メソッドを使うことで、グラフに凡例を簡単に作成できます。さらに、frameon引数を指定すると、凡例の周囲に枠線(ボーダー)を表示したままにすることが可能です。 手順 plt.xlabel()メソッドでX軸のラベルを設定します。 plt.ylabel()メソッドでY軸のラベルを設定します。 plot()メソッドでライン(折れ線)を描画します。 位置(loc)と凡例描画フラグを指定することで、最適な場所に凡例を配置し、枠線を表示させることができます。 「blue」と「orange」の要素を含む凡例を設定します。 plt.show