Seaborn 플롯에서 범례 위치 변경

Manav Narula 2021년7월16일
Seaborn 플롯에서 범례 위치 변경

이 튜토리얼에서는 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")

Seaborn 전설 위치

이 매개 변수의 값으로 다른 숫자를 지정할 수도 있습니다. 다른 번호는 다른 위치에 해당합니다. 예를 들어 1은 오른쪽 위 위치, 2는 왼쪽 위 위치 등을 지정합니다. 이 Matplotlib 기사를 참조하여 숫자와 위치 간의 관계에 대한 표를 가져옵니다.

기본적으로loc매개 변수의 값은 0입니다. 즉, 최소 겹침이 발생하도록 플롯 내 위치를 검색합니다.

bbox_to_anchor매개 변수를 사용하여 플롯 외부에 범례 상자를 배치 할 수도 있습니다. bbox_to_anchorloc매개 변수에 지정된 위치를 기준으로 범례의 위치를 ​​지정합니다. 요소가 두 개인 튜플을 사용하여bbox_to_anchor매개 변수를 설정하면 지정된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))

Seaborn 전설 위치

작가: Manav Narula
Manav Narula avatar Manav Narula avatar

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

관련 문장 - Seaborn Legend