Función Seaborn Set_xticklabels

Manav Narula 16 julio 2021
Función Seaborn Set_xticklabels

Este artículo presentará cómo controlar las etiquetas de marca en ambos ejes.

Por ejemplo, observe el problema con el siguiente gráfico.

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)

garrapatas seaborn xlabel

En la figura anterior, las fechas completas se representan en el eje x. Pero todo se superpone y es difícil de leer.

Podemos usar la función set_xticklabels() para establecer etiquetas de marca personalizadas para el eje x. Un gráfico seaborn devuelve un objeto de tipo de instancia de ejes matplotlib. Podemos usar esta función en este objeto.

Por ejemplo, podemos pasar las etiquetas como los nombres de los meses como se muestra a continuación en el problema mencionado anteriormente.

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

garrapatas seaborn xlabel

También podemos realizar pequeñas personalizaciones en el resultado final. Podemos usar el parámetro rotation para rotar las etiquetas finales de tick en algún grado o alterar su tamaño de fuente usando el parámetro size.

Si queremos usar estos parámetros en las etiquetas de marca predeterminadas, podemos usar la función get_xticklabels(). Devuelve la lista de las etiquetas de marca predeterminadas del gráfico. Podemos utilizar esta función cuando queramos personalizar las etiquetas de tick por defecto utilizando los parámetros de rotation o size.

Consulte el siguiente código para ver cómo utilizar esta función.

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)

garrapatas seaborn xlabel

De manera similar, podemos realizar las funciones en el eje y usando las funciones set_yticklabels() y get_yticklabels().

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

Artículo relacionado - Seaborn Tick