Python Matplotlibで凡例に特定の項目のみを表示する方法
PythonのMatplotlibでは、plt.legend()を使うことで、リストに値を指定するだけで、グラフの凡例に特定の項目だけを表示できます。この記事では、その具体的な手順とサンプルコードを紹介します。
実装手順
plt.xlabel()メソッドを使用して、X軸のラベルを設定します。plt.ylabel()メソッドを使用して、Y軸のラベルを設定します。plot()メソッドの引数にリストを渡して、線をプロットします。凡例の位置(location)と枠線を描画するかどうかのフラグ(legend_drawn_flag)を設定することで、最適な位置に凡例を配置し、枠線を表示できます。
凡例には「blue」と「orange」の要素を指定して設定します。
plt.show()メソッドを実行して、図を表示します。
サンプルコード
import matplotlib.pyplot as plt
plt.ylabel("Y-axis ")
plt.xlabel("X-axis ")
plt.plot([9, 5], [2, 5], [4, 7, 8])
location = 0 # 最適な位置に自動配置
legend_drawn_flag = True
plt.legend(["blue", "orange"], loc=0, frameon=legend_drawn_flag)
plt.show()解説
このコードでは、plt.plot()に複数のデータ系列を渡していますが、plt.legend()の第1引数として「blue」と「orange」の2つのラベルだけをリストで指定しています。これにより、プロットされたすべての線ではなく、指定した項目のみが凡例に表示されます。
また、loc=0を指定すると、データと重ならない「最適な位置」に凡例が自動的に配置されます。frameon=True(ここでは変数legend_drawn_flag経由で指定)により、凡例の周囲に枠線が描画されます。枠線を非表示にしたい場合は、このフラグをFalseに変更してください。
出力結果

このように、plt.legend()に表示したいラベルのリストを渡すだけで、凡例の内容を柔軟に制御できるため、複数のデータ系列の中から重要なものだけを強調したい場合に非常に便利です。
-
Pythonのmatplotlibで1つのページに複数のプロットを作成する方法
Pandasとmatplotlibを組み合わせることで、データフレームから図(figure)と軸(axis)を簡単に作成し、scatterメソッドを使って点をプロットできます。ここでは、学生の人数と取得点数の関係を散布図として可視化する手順を紹介します。 実装の手順 学生のリスト、各学生が取得した点数のリスト、スコアごとの色分け用リストを作成します。 PandasのDataFrameを使って、手順1のデータからデータフレームを作成します。 subplotsメソッドでfigとax変数を作成します。デフォルトでは行数(nrows)と列数(ncols)はどちらも1に設定されています。 plt.xl
-
【Python】Matplotlibのplt.show()ウィンドウを最大化する方法
概要Matplotlibでグラフを表示すると、デフォルトでは小さなウィンドウが開きます。plt.get_current_fig_manager() と mng.full_screen_toggle() の2つのメソッドを組み合わせることで、plt.show() で表示されるウィンドウを簡単に最大化(全画面表示)できます。手順subplot() メソッドを使い、現在の図にサブプロットを追加します(nrow=1、ncols=1、index=1)。リスト [1, 2, 3] を渡して pie() メソッドを呼び出し、円グラフを作成します。get_current_fig_manager() メソッドで