Seaborn Set_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)
위 그림에서 전체 날짜는 x 축에 표시됩니다. 그러나 모든 것이 겹치고 읽기가 어렵습니다.
set_xticklabels()
함수를 사용하여 x 축에 대한 사용자 지정 눈금 레이블을 설정할 수 있습니다. seaborn 플롯은 matplotlib axes 인스턴스 유형 객체를 반환합니다. 이 객체에이 함수를 사용할 수 있습니다.
예를 들어, 위에서 언급 한 문제에서 아래와 같이 월 이름으로 레이블을 전달할 수 있습니다.
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(["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug"])
최종 결과에 대해 사소한 사용자 지정을 수행 할 수도 있습니다. rotation
매개 변수를 사용하여 최종 눈금 레이블을 어느 정도 회전하거나size
매개 변수를 사용하여 글꼴 크기를 변경할 수 있습니다.
기본 눈금 레이블에서 이러한 매개 변수를 사용하려면get_xticklabels()
함수를 사용할 수 있습니다. 플롯에서 기본 눈금 레이블 목록을 반환합니다. rotation
또는size
매개 변수를 사용하여 기본 눈금 레이블을 사용자 정의하려는 경우이 함수를 사용할 수 있습니다.
이 기능을 사용하는 방법을 보려면 다음 코드를 확인하십시오.
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, size=10)
마찬가지로set_yticklabels()
및get_yticklabels()
함수를 사용하여 y 축에서 함수를 수행 할 수 있습니다.
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