Seaborn Set_xticklabels 函式

Manav Narula 2021年7月16日
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)

seaborn xlabel 蜱蟲

在上圖中,整個日期繪製在 x 軸上。但一切都是重疊的,難以閱讀。

我們可以使用 set_xticklabels() 函式為 x 軸設定自定義刻度標籤。seaborn 圖返回一個 matplotlib 軸例項型別物件。我們可以在這個物件上使用這個函式。

例如,我們可以在上面提到的問題中將標籤作為月份名稱傳遞,如下所示。

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"])

seaborn xlabel 蜱蟲

我們還可以對最終結果進行細微的定製。我們可以使用 rotation 引數將最終刻度標籤旋轉一定程度或使用 size 引數更改其字型大小。

如果我們想在預設刻度標籤上使用這些引數,我們可以使用 get_xticklabels() 函式。它從圖中返回預設刻度標籤的列表。當我們想要使用 rotationsize 引數自定義預設刻度標籤時,我們可以使用此函式。

檢查以下程式碼以瞭解如何使用此功能。

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)

seaborn xlabel 蜱蟲

同樣,我們可以使用 set_yticklabels()get_yticklabels() 函式在 y 軸上執行函式。

作者: 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 Tick