Seaborn Set_xticklabels-Funktion
In diesem Artikel wird erläutert, wie Sie die Teilstrichbeschriftungen auf beiden Achsen steuern.
Beachten Sie beispielsweise das Problem mit der folgenden Grafik.
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)
In der obigen Abbildung sind ganze Daten auf der x-Achse aufgetragen. Aber alles überschneidet sich und ist schwer zu lesen.
Wir können die Funktion set_xticklabels()
verwenden, um benutzerdefinierte Tick-Labels für die x-Achse zu setzen. Ein Seaborn-Plot gibt ein Objekt vom Typ Matplotlib-Achseninstanz zurück. Wir können diese Funktion für dieses Objekt verwenden.
Zum Beispiel können wir die Labels als Monatsnamen übergeben, wie unten im oben genannten Problem gezeigt.
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"])
Wir können auch kleinere Anpassungen am Endergebnis vornehmen. Wir können den Parameter rotation
verwenden, um die letzten Teilstrichbeschriftungen um einige Grad zu drehen oder ihre Schriftgröße mit dem Parameter size
zu ändern.
Wenn wir diese Parameter für die Standard-Tick-Labels verwenden möchten, können wir die Funktion get_xticklabels()
verwenden. Es gibt die Liste der standardmäßigen Teilstrichbeschriftungen aus dem Diagramm zurück. Wir können diese Funktion verwenden, wenn wir die Standard-Tick-Beschriftungen mit den Parametern rotation
oder size
anpassen möchten.
Überprüfen Sie den folgenden Code, um zu sehen, wie Sie diese Funktion verwenden.
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)
Ebenso können wir die Funktionen auf der y-Achse mit den Funktionen set_yticklabels()
und get_yticklabels()
ausführen.
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