Cambiar la ubicación de la leyenda en la trama de Seaborn
En este tutorial, aprenderemos cómo cambiar la ubicación de la leyenda en una trama nacida en el mar en Python.
Para esto, necesitaremos deshabilitar la leyenda predeterminada. Esto se puede hacer configurando el parámetro legend
como Falso en la función de trazado. Agregaremos explícitamente la leyenda usando la función matplotlib.pyplot.legend()
de la biblioteca matplotlib.
Para alterar la posición de la leyenda, usaremos el parámetro loc
de esta función. Podemos especificar la ubicación requerida de la leyenda como el valor de este parámetro.
Por ejemplo,
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.DataFrame(
{"Day 1": [7, 1, 5, 6, 3, 10, 5, 8], "Day 2": [1, 2, 8, 4, 3, 9, 5, 2]}
)
sns.lineplot(data=df, legend=False)
plt.legend(labels=["Day1", "Day2"], loc="upper right")
También podemos especificar diferentes números como valor para este parámetro. Los diferentes números corresponden a diferentes ubicaciones. Por ejemplo, 1 para la posición superior derecha, 2 especifica la posición superior izquierda, etc. Consulte este artículo de Matplotlib para obtener la tabla de la relación entre números y posiciones.
Por defecto, el valor del parámetro loc
es 0, lo que significa que busca la posición dentro del gráfico para que se produzca una superposición mínima.
También podemos colocar el cuadro de leyenda fuera del gráfico usando el parámetro bbox_to_anchor
. El bbox_to_anchor
especifica la posición de la leyenda con respecto a la ubicación especificada en el parámetro loc
. Si configuramos el parámetro bbox_to_anchor
con una tupla de dos elementos, entonces considera sus valores como los valores x e y para el posicionamiento a lo largo de la loc
especificada.
Por ejemplo,
import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame(
{"Day 1": [7, 1, 5, 6, 3, 10, 5, 8], "Day 2": [1, 2, 8, 4, 3, 9, 5, 2]}
)
sns.lineplot(data=df, legend=False)
plt.legend(labels=["Day1", "Day2"], loc=2, bbox_to_anchor=(1, 1))
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