Matplotlibで作成後の凡例(legend)を変更する方法
Matplotlibでは、一度作成した凡例(legend)も後から自由に変更することができます。本記事では、set_title()メソッドを使って凡例にタイトルを追加・変更する基本的な手順を、サンプルコードとともに解説します。
手順の概要
- 図のサイズを設定し、サブプロット間および周囲のパディングを自動調整します。
- plot()メソッドを使い、2つのリストデータとラベルを指定して線グラフを描画します。
- legend()メソッドを呼び出して、プロット上に凡例を配置します。
- 戻り値として取得した凡例オブジェクトに対してset_title()メソッドを実行し、凡例のタイトルを変更します。
- show()メソッドで図を表示します。
サンプルコード
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
plt.plot([1, 3, 4, 5, 2, 1], [3, 4, 1, 3, 0, 1],
label="line plot", color='red', lw=0.5)
leg = plt.legend(loc="upper right")
leg.set_title("Title")
plt.show()
コードのポイント
plt.legend(loc="upper right")は、凡例を図の右上に配置し、その凡例オブジェクトを変数legに格納します。このオブジェクトはAxesLegendインスタンスであり、作成後も各種メソッドで編集可能です。
leg.set_title("Title")を実行すると、凡例の上部に「Title」という見出しが追加されます。引数を変更すれば、任意のテキストに差し替えられます。
その他の変更方法
凡例オブジェクトがあれば、タイトル以外にもさまざまなカスタマイズが可能です。
- get_texts():凡例ラベルのテキストを取得・変更できます。
- get_lines():凡例内の線の色やスタイルを後から変更できます。
- set_visible(False):凡例を非表示にできます。
- remove():凡例を完全に削除できます。
このように、legend()メソッドの戻り値を保持しておけば、作成後の凡例を柔軟に操作できるため、動的にグラフを更新するアプリケーションやインタラクティブな可視化でも活用できます。
-
Matplotlibで凡例のマーカーとラベルの間隔を調整する方法
Matplotlibで凡例(legend)のマーカーとラベルの間隔を調整したい場合は、legend()メソッドのlabelspacing引数を使用します。この引数に数値を指定することで、凡例内の各行(マーカーとラベル)同士の縦方向のスペースを自由に広げたり狭めたりできます。手順Label 1、Label 2、Label 3というラベルを付けて、3本の線をプロットします。凡例のマーカーとラベルの間隔を調整するための変数spaceを定義します。legend()メソッドの引数にlabelspacing=spaceを指定して呼び出します。図を表示するには、plt.show()メソッドを使用します。サン
-
Matplotlibで軸ラベルと凡例に下付き文字(サブスクリプト)を表示する方法
Matplotlibでは、TeX/LaTeX形式の数式記法($...$)を利用することで、軸ラベルや凡例に下付き文字(サブスクリプト)や上付き文字(スーパースクリプト)を簡単に表示できます。この記事では、その具体的な手順をコード例とともに解説します。 実装手順 データの作成: NumPyを使ってxとyのデータポイントを作成します。 プロット: 上付き文字を含むラベルを付けて、xとyのデータポイントをプロットします。 軸ラベルの設定: 下付き文字を含むテキストで xlabel() と ylabel() を使用します。 凡例の配置: legend() メソッドを使ってプロットに凡例を配置します