Seaborn Set_xticklabels 函式
Manav Narula
2021年7月16日
本文將介紹如何控制兩個軸上的刻度標籤。
例如,請注意下圖的問題。
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 軸例項型別物件。我們可以在這個物件上使用這個函式。
例如,我們可以在上面提到的問題中將標籤作為月份名稱傳遞,如下所示。
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 軸上執行函式。
Author: Manav Narula
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