SeabornSet_xticklabels 関数

Manav Narula 2021年11月20日
SeabornSet_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 プロットは、matplotlibaxes インスタンスタイプオブジェクトを返します。このオブジェクトでこの関数を使用できます。

たとえば、上記の問題で以下に示すように、ラベルを月の名前として渡すことができます。

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() 関数を使用できます。プロットからデフォルトの目盛りラベルのリストを返します。この関数は、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)

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