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)
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"])
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)
De manera similar, podemos realizar las funciones en el eje y usando las funciones set_yticklabels()
y get_yticklabels()
.
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