Python
 Computer >> コンピューター >  >> プログラミング >> Python

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 を指定すると、軸と凡例の間の余白をなくすことができます。

出力結果

Seaborn散布図の凡例をグラフの外側に移動する方法(Matplotlib)

  1. Matplotlibで凡例のマーカーとラベルの間隔を調整する方法

    Matplotlibで凡例(legend)のマーカーとラベルの間隔を調整したい場合は、legend()メソッドのlabelspacing引数を使用します。この引数に数値を指定することで、凡例内の各行(マーカーとラベル)同士の縦方向のスペースを自由に広げたり狭めたりできます。手順Label 1、Label 2、Label 3というラベルを付けて、3本の線をプロットします。凡例のマーカーとラベルの間隔を調整するための変数spaceを定義します。legend()メソッドの引数にlabelspacing=spaceを指定して呼び出します。図を表示するには、plt.show()メソッドを使用します。サン

  2. Matplotlibで軸ラベルと凡例に下付き文字(サブスクリプト)を表示する方法

    Matplotlibでは、TeX/LaTeX形式の数式記法($...$)を利用することで、軸ラベルや凡例に下付き文字(サブスクリプト)や上付き文字(スーパースクリプト)を簡単に表示できます。この記事では、その具体的な手順をコード例とともに解説します。 実装手順 データの作成: NumPyを使ってxとyのデータポイントを作成します。 プロット: 上付き文字を含むラベルを付けて、xとyのデータポイントをプロットします。 軸ラベルの設定: 下付き文字を含むテキストで xlabel() と ylabel() を使用します。 凡例の配置: legend() メソッドを使ってプロットに凡例を配置します