Matplotlibで同じ軸上の複数の箱ひげ図に凡例を追加する方法
同じ軸上に複数のプロットを描画したMatplotlibの箱ひげ図(ボックスプロット)に凡例を追加したい場合、以下の手順で実現できます。
手順
- 図のサイズを設定し、サブプロット間およびその周囲のパディングを調整します。
- NumPyを使用して、ランダムデータ a と b を作成します。
- figure() メソッドを使って、新しいFigureを作成するか、既存のFigureをアクティブにします。
- サブプロットとして、現在のFigureにAxesを追加します。
- 異なる塗りつぶし色(facecolor)を指定しながら、boxplot() メソッドで箱ひげ図を作成します。
- 凡例を配置するには、2つの箱ひげ図 bp1 と bp2 のボックス要素を指定して legend() メソッドを呼び出し、対応するラベルを順番に渡します。
- 最後に show() メソッドで図を表示します。
コード例
import matplotlib.pyplot as plt import numpy as np plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True a = np.random.rand(100, 2) b = np.random.rand(100, 2) fig = plt.figure() ax = fig.add_subplot(111) bp1 = ax.boxplot(a, positions=[1, 3], notch=True, widths=0.35, patch_artist=True, boxprops=dict(facecolor="C0")) bp2 = ax.boxplot(a, positions=[0, 2], notch=True, widths=0.35, patch_artist=True, boxprops=dict(facecolor="C2")) ax.legend([bp1["boxes"][0], bp2["boxes"][0]], ["Box Plot 1", "Box Plot 2"], loc='upper right') plt.show()
実行結果

-
Pandasでプロットの外側に凡例を配置する方法
Pandasで作成したグラフの凡例を、プロット領域の外側に配置したいケースはよくあります。本記事では、matplotlibのlegend()メソッドとbbox_to_anchor引数を使って、凡例を自由な位置に配置する方法を解説します。 実装の手順 Pandasでプロットの外側に凡例を配置するには、以下の手順を実行します。 「Column 1」と「Column 2」をキーとする辞書 d を作成します。 DataFrame(d) を使ってデータフレームを作成します。 スタイルのリストを指定して、データフレームをプロットします。 legend() メソッドを使って図に凡例を配置します。bbox_
-
PythonとMatplotlibで複数のプロットを1つの図に描画する方法
Matplotlibは、データ可視化のために広く利用されている人気のPythonパッケージです。データの可視化は非常に重要なステップです。生の数値を目で追ったり複雑な計算を実行したりしなくても、データの中で何が起きているのかを直感的に把握できるようになるからです。また、定量的な洞察を聴衆に対して効果的に伝える手段としても役立ちます。Matplotlibは、データをもとに2次元のプロットを作成するために使われます。オブジェクト指向のAPIを備えており、Pythonアプリケーションへプロットを簡単に組み込むことができます。IPythonシェル、Jupyter Notebook、Spyderなどの開