Alterar a localização da legenda na trama do Seaborn

Manav Narula 15 fevereiro 2024
Alterar a localização da legenda na trama do Seaborn

Neste tutorial, aprenderemos como alterar a localização da legenda em um plot do mar em Python.

Para isso, precisaremos desabilitar a legenda padrão. Isso pode ser feito definindo o parâmetro legend como False na função de gráfico. Vamos adicionar explicitamente a legenda usando a função matplotlib.pyplot.legend() da biblioteca matplotlib.

Para alterar a posição da legenda, usaremos o parâmetro loc desta função. Podemos especificar a localização necessária da legenda como o valor deste parâmetro.

Por exemplo,

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

Localização da lenda marítima

Também podemos especificar números diferentes como o valor para este parâmetro. Números diferentes correspondem a locais diferentes. Por exemplo, 1 para a posição superior direita, 2 especifica a posição superior esquerda, etc. Consulte este artigo Matplotlib para obter a tabela da relação entre números e posições.

Por padrão, o valor do parâmetro loc é 0, o que significa que ele procura a posição dentro do gráfico para que ocorra uma sobreposição mínima.

Também podemos colocar a caixa de legenda fora do gráfico usando o parâmetro bbox_to_anchor. O bbox_to_anchor especifica a posição da legenda em relação ao local especificado no parâmetro loc. Se definirmos o parâmetro bbox_to_anchor com uma tupla de dois elementos, ele considera seus valores como os valores x e y para o posicionamento ao longo do loc especificado.

Por exemplo,

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

Localização da lenda marítima

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

Artigo relacionado - Seaborn Legend