Achsentick-Beschriftungen von Seaborn-Plots drehen

Manav Narula 16 Juli 2021
  1. Verwenden Sie die Funktion set_xticklabels(), um Beschriftungen auf Seaborn-Achsen zu drehen
  2. Verwenden Sie die Funktion xticks(), um Beschriftungen auf Seaborn-Achsen zu drehen
  3. Verwenden Sie die Funktion setp(), um Beschriftungen auf Seaborn-Achsen zu drehen
Achsentick-Beschriftungen von Seaborn-Plots drehen

Seaborn bietet viele Anpassungen für die endgültige Figur. Eine solche kleine, aber wesentliche Anpassung besteht darin, dass wir die Teilstrichbeschriftungen auf beiden Achsen steuern können.

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)

Seaborn Etiketten drehen 1

Im obigen Code haben wir ein Diagramm für die Zeitreihendaten des Preises eines Produkts gezeichnet. Wie Sie sehen, sind auf der x-Achse ganze Datumsangaben aufgetragen. Aus diesem Grund überlappt sich alles und ist schwer zu lesen.

In solchen Situationen können wir die Teilstrichbeschriftungen auf der Achse drehen.

In diesem Tutorial lernen wir, wie man solche Häkchenbeschriftungen auf Seegrundstücken dreht.

Verwenden Sie die Funktion set_xticklabels(), um Beschriftungen auf Seaborn-Achsen zu drehen

Die Funktion set_xticklabels() setzt die Werte für Tick-Labels auf der x-Achse. Wir können es verwenden, um die Etiketten zu drehen. Diese Funktion benötigt jedoch einige Labelwerte, um die Funktion get_xticklabels() zu verwenden, die die Standardlabels zurückgibt und sie mit dem Parameter rotation dreht.

Der folgende Code demonstriert seine Verwendung.

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)

Seaborn rotieren Etiketten 2

Verwenden Sie die Funktion xticks(), um Beschriftungen auf Seaborn-Achsen zu drehen

Auch der Parameter rotation in der Funktion matplotlib.pyplot.xticks() kann dies erreichen. Wir müssen keine Labels übergeben und können den Parameter direkt in dieser Funktion verwenden.

Beispielsweise,

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)
plt.xticks(rotation=45)

seaborn rotieren etiketten 3

Verwenden Sie die Funktion setp(), um Beschriftungen auf Seaborn-Achsen zu drehen

Da die meisten Seaborn-Plots ein Matplotlib-Achsen-Objekt zurückgeben, können wir die Funktion setp() aus dieser Bibliothek verwenden. Wir nehmen die Tick-Label-Werte mit der Funktion xtick() und drehen sie mit dem Parameter rotation der Funktion setp().

Siehe den folgenden Code.

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)
locs, labels = plt.xticks()
plt.setp(labels, rotation=45)

Seaborn rotieren Etiketten 4

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

Verwandter Artikel - Seaborn Axis

Verwandter Artikel - Seaborn Label