PandasとMatplotlib.pyplotで凡例(レジェンド)を作成する方法
Pandas と matplotlib.pyplot を組み合わせると、データフレームを簡単に可視化でき、凡例(レジェンド)も自動的に表示できます。この記事では、Pandas のデータフレームを棒グラフとして描画し、凡例を表示する具体的な手順を解説します。
凡例を作成する手順
- 図のサイズを設定する: figure.figsize で図のサイズを指定し、figure.autolayout を有効にして、サブプロット間や図の周囲の余白を自動調整します。
- データフレームを作成する: 2 次元の表形式データ(サイズ変更可能なデータフレーム)を用意します。
- 棒グラフとしてプロットする: df.plot() メソッドで kind='bar' を指定して棒グラフを描画し、legend=True を設定することで凡例を表示します。
- 図を表示する: plt.show() メソッドを呼び出して、作成したグラフを画面に表示します。
コード例
import pandas as pd
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
fig, ax = plt.subplots()
df = pd.DataFrame({'Numbers': [3, 4, 1, 7, 8, 5], 'Frequency': [2, 4, 1, 4, 3, 2]})
df.plot(ax=ax, kind='bar', legend=True)
plt.show()
このコードでは、「Numbers」と「Frequency」という 2 つの列を持つデータフレームを作成し、それを棒グラフとして描画しています。legend=True を指定しているため、各列の名前が凡例として自動的に表示されます。
実行結果

実行すると、X 軸にインデックス番号、Y 軸にそれぞれの値を示す棒グラフが表示され、右上に「Numbers」と「Frequency」の凡例が確認できます。このように、Pandas の plot メソッドを使えば、わずか数行のコードで凡例付きのグラフを簡単に作成できます。
-
NumPyとMatplotlibで画像セグメンテーションをオーバーレイ表示する方法
NumPyとMatplotlibを組み合わせると、画像セグメンテーションの結果を元画像の上に重ねて(オーバーレイ)表示できます。マスク配列を活用すれば、検出した領域だけを色付きで半透明に強調することが可能です。 実装の手順 10×10のサイズを持つマスク配列を作成します。 一部の領域(中央部分)の値を1に更新します。 NumPyを使って画像データを生成します。 条件を満たす要素をマスクし、マスク済みデータを作成します。 figure()メソッドで新しい図を作成、または既存の図をアクティブ化します。 imshow()メソッドでデータを2次元ラスタ画像として表示します。 show()メソッドで図
-
Matplotlibの図に凡例を配置・整列させる方法
Matplotlibで作成した図(フィギュア)に凡例を適切な位置に配置し、要素を整列させる方法を解説します。凡例の位置調整には bbox_to_anchor 引数を使用するのがポイントです。 手順 plot() メソッドを使って line1 と line2 の2本の線をプロットします。 legend() メソッドで図に凡例を配置します。このとき bbox_to_anchor を使って凡例の位置を指定し、ncol 引数で凡例要素を横並びに整列させます。 show() メソッドを呼び出して図を表示します。 コード例 from matplotlib import pyplot as plt pl