Seaborn 플롯의 축 눈금 레이블 회전

Manav Narula 2023년1월30일
  1. set_xticklabels()함수를 사용하여 Seaborn 축에서 레이블 회전
  2. xticks()함수를 사용하여 Seaborn 축에서 레이블 회전
  3. setp()함수를 사용하여 Seaborn Axes에서 레이블 회전
Seaborn 플롯의 축 눈금 레이블 회전

Seaborn은 최종 인물에 대한 많은 사용자 정의를 제공합니다. 작지만 필수적인 사용자 정의 중 하나는 두 축의 눈금 레이블을 제어 할 수 있다는 것입니다.

예를 들어, 다음 그래프의 문제에주의하십시오.

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {
        "Date": [
            "01012019",
            "01022019",
            "01032019",
            "01042019",
            "01052019",
            "01062019",
            "01072019",
            "01082019",
        ],
        "Price": [77, 76, 68, 70, 78, 79, 74, 75],
    }
)
df["Date"] = pd.to_datetime(df["Date"], format="%d%m%Y")

plt.figure(figsize=(15, 8))
ax = sns.barplot(x="Date", y="Price", data=df)

seaborn 회전 레이블 1

위의 코드에서 제품 가격의 시계열 데이터에 대한 그래프를 그렸습니다. 보시다시피 전체 날짜가 x 축에 표시됩니다. 이로 인해 모든 것이 겹치고 읽기가 어렵습니다.

이러한 상황에서는 축에서 눈금 레이블을 회전 할 수 있습니다.

이 튜토리얼에서는 seaborn 플롯에서 이러한 눈금 레이블을 회전하는 방법을 배웁니다.

set_xticklabels()함수를 사용하여 Seaborn 축에서 레이블 회전

set_xticklabels()함수는 x 축의 눈금 레이블 값을 설정합니다. 레이블을 회전하는 데 사용할 수 있습니다. 그러나이 함수는 기본 레이블을 반환하고rotation매개 변수를 사용하여 회전하는get_xticklabels()함수를 사용하기 위해 일부 레이블 값이 필요합니다.

다음 코드는 그 사용법을 보여줍니다.

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {
        "Date": [
            "01012019",
            "01022019",
            "01032019",
            "01042019",
            "01052019",
            "01062019",
            "01072019",
            "01082019",
        ],
        "Price": [77, 76, 68, 70, 78, 79, 74, 75],
    }
)
df["Date"] = pd.to_datetime(df["Date"], format="%d%m%Y")

plt.figure(figsize=(15, 8))
ax = sns.barplot(x="Date", y="Price", data=df)
ax.set_xticklabels(ax.get_xticklabels(), rotation=30)

seaborn 회전 레이블 2

xticks()함수를 사용하여 Seaborn 축에서 레이블 회전

matplotlib.pyplot.xticks()함수의rotation매개 변수도이를 수행 할 수 있습니다. 레이블을 전달할 필요가 없으며이 함수에서 매개 변수를 직접 사용할 수 있습니다.

예를 들면

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {
        "Date": [
            "01012019",
            "01022019",
            "01032019",
            "01042019",
            "01052019",
            "01062019",
            "01072019",
            "01082019",
        ],
        "Price": [77, 76, 68, 70, 78, 79, 74, 75],
    }
)
df["Date"] = pd.to_datetime(df["Date"], format="%d%m%Y")

plt.figure(figsize=(15, 8))
ax = sns.barplot(x="Date", y="Price", data=df)
plt.xticks(rotation=45)

seaborn 회전 레이블 3

setp()함수를 사용하여 Seaborn Axes에서 레이블 회전

대부분의 seaborn 플롯은 matplotlib axes 객체를 반환하므로이 라이브러리에서setp()함수를 사용할 수 있습니다. xtick()함수를 사용하여 눈금 레이블 값을 가져와setp()함수의rotation매개 변수를 사용하여 회전합니다.

다음 코드를 참조하십시오.

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {
        "Date": [
            "01012019",
            "01022019",
            "01032019",
            "01042019",
            "01052019",
            "01062019",
            "01072019",
            "01082019",
        ],
        "Price": [77, 76, 68, 70, 78, 79, 74, 75],
    }
)
df["Date"] = pd.to_datetime(df["Date"], format="%d%m%Y")

plt.figure(figsize=(15, 8))
ax = sns.barplot(x="Date", y="Price", data=df)
locs, labels = plt.xticks()
plt.setp(labels, rotation=45)

seaborn 회전 레이블 4

작가: 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 Axis

관련 문장 - Seaborn Label