Seaborn散布図の凡例をグラフの外側に移動する方法(Matplotlib)
Seabornの散布図では、凡例(レジェンド)がデフォルトでプロット領域の内側に表示されるため、データポイントと重なって見づらくなることがあります。そこで本記事では、bbox_to_anchor 引数を使って凡例をグラフの外側に移動させる方法を解説します。
手順
- 図のサイズを設定し、サブプロット間および周囲の余白を自動調整します。
- 3つの列(col1、col2、col3)を持つPandasデータフレームを作成します。
- seabornの scatterplot() を使って、複数の系列を色分けした散布図を描画します。
- 凡例をプロット領域の外側に配置するため、legend() メソッドの bbox_to_anchor 引数を指定します。
- show() メソッドで図を表示します。
コード例
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
df = pd.DataFrame(dict(col1=[2, 1, 4],
col2=[5, 2, 1],
col3=[4, 0, 1]))
sns.scatterplot(data=df)
plt.legend(bbox_to_anchor=(1.25, 1), borderaxespad=0)
plt.show()
ポイント解説
bbox_to_anchor は、凡例のアンカー位置を座標で指定する引数です。(1.25, 1) のようにx座標を1より大きい値にすることで、凡例をプロット領域の右側の外へ移動できます。また、borderaxespad=0 を指定すると、軸と凡例の間の余白をなくすことができます。
出力結果

-
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() メソッドを使ってプロットに凡例を配置します