SeabornPlot の凡例の場所を変更する
このチュートリアルでは、Python の Seaborn のプロットで凡例の場所を変更する方法を学習します。
このために、デフォルトの凡例を無効にする必要があります。これは、プロット関数で legend
パラメーターを False に設定することで実行できます。matplotlib ライブラリの matplotlib.pyplot.legend()
関数を使用して、凡例を明示的に追加します。
凡例の位置を変更するには、この関数の loc
パラメーターを使用します。このパラメーターの値として、凡例の必要な場所を指定できます。
例えば、
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.DataFrame(
{"Day 1": [7, 1, 5, 6, 3, 10, 5, 8], "Day 2": [1, 2, 8, 4, 3, 9, 5, 2]}
)
sns.lineplot(data=df, legend=False)
plt.legend(labels=["Day1", "Day2"], loc="upper right")
このパラメーターの値として、異なる数値を指定することもできます。異なる番号は異なる場所に対応します。たとえば、1 は右上の位置、2 は左上の位置などを指定します。数値と位置の関係の表を取得するには、この Matplotlib の記事を参照してください。
デフォルトでは、loc
パラメータの値は 0 です。これは、最小のオーバーラップが発生するように、プロット内の位置を検索することを意味します。
bbox_to_anchor
パラメータを使用して、凡例ボックスをプロットの外側に配置することもできます。bbox_to_anchor
は、loc
パラメーターで指定された場所に対する凡例の位置を指定します。bbox_to_anchor
パラメーターを 2 要素のタプルで設定すると、それらの値は、指定された loc
に沿って配置するための x 値および y 値と見なされます。
例えば、
import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame(
{"Day 1": [7, 1, 5, 6, 3, 10, 5, 8], "Day 2": [1, 2, 8, 4, 3, 9, 5, 2]}
)
sns.lineplot(data=df, legend=False)
plt.legend(labels=["Day1", "Day2"], loc=2, bbox_to_anchor=(1, 1))
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn