Como alterar a posição de uma legenda no matplotlib


Para alterar a posição de uma legenda no Matplotlib, você pode usar a função plt.legend() .

Por exemplo, você pode usar a seguinte sintaxe para colocar a legenda no canto superior esquerdo do gráfico:

 plt. legend (loc=' upper left ')

O local padrão é “melhor” – é aqui que o Matplotlib encontra automaticamente um local para a legenda com base em onde evita cobrir os pontos de dados.

No entanto, você pode especificar um dos seguintes locais de legenda:

  • Canto superior direito
  • no canto superior esquerdo
  • no canto inferior esquerdo
  • no canto inferior direito
  • CERTO
  • centro-esquerda
  • Centro-direita
  • centro inferior
  • centro superior
  • Centro

Você também pode usar o argumento bbox_to_anchor() para colocar a legenda fora do gráfico. Por exemplo, você pode usar a seguinte sintaxe para colocar a legenda no canto superior direito fora do gráfico:

 plt. legend (bbox_to_anchor=( 1.05 , 1 ), loc=' upper left ', borderaxespad= 0 )

Os exemplos a seguir mostram como usar cada um desses métodos na prática.

Exemplo 1: altere a posição da legenda dentro do gráfico Matplotlib

O código a seguir mostra como colocar a legenda na parte central direita de um gráfico de linha Matplotlib:

 import pandas as pd
import matplotlib. pyplot as plt

#createdata
df = pd. DataFrame ({' points ': [11, 17, 16, 18, 22, 25, 26, 24, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4, 8]})

#add lines to plot
plt. plot (df[' points '], label=' Points ', color=' green ')
plt. plot (df[' assists '], label=' Assists ', color=' steelblue ')

#place legend in center right of plot
plt. legend (loc=' center right ', title=' Metric ') 

E o código a seguir mostra como colocar a legenda no canto superior esquerdo de um gráfico Matplotlib:

 import pandas as pd
import matplotlib. pyplot as plt

#create data
df = pd. DataFrame ({' points ': [11, 17, 16, 18, 22, 25, 26, 24, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4, 8]})

#add lines to plot
plt. plot (df[' points '], label=' Points ', color=' green ')
plt. plot (df[' assists '], label=' Assists ', color=' steelblue ')

#place legend in center right of plot
plt. legend (loc=' upper left ', title=' Metric ') 

Exemplo 2: Alterar a posição da legenda fora do gráfico Matplotlib

Para colocar a legenda fora de um gráfico Matplotlib, podemos usar o argumento bbox_to_anchor() .

Por exemplo, veja como colocar a legenda fora do canto superior direito do gráfico:

 import pandas as pd
import matplotlib. pyplot as plt

#create data
df = pd. DataFrame ({' points ': [11, 17, 16, 18, 22, 25, 26, 24, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4, 8]})

#add lines to plot
plt. plot (df[' points '], label=' Points ', color=' green ')
plt. plot (df[' assists '], label=' Assists ', color=' steelblue ')

#place legend in center right of plot
plt. legend (bbox_to_anchor=( 1.02 , 1 ), loc=' upper left ', borderaxespad= 0 )

E veja como colocar a legenda fora do canto inferior direito do gráfico:

 import pandas as pd
import matplotlib. pyplot as plt

#create data
df = pd. DataFrame ({' points ': [11, 17, 16, 18, 22, 25, 26, 24, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4, 8]})

#add lines to plot
plt. plot (df[' points '], label=' Points ', color=' green ')
plt. plot (df[' assists '], label=' Assists ', color=' steelblue ')

#place legend in center right of plot
plt. legend (bbox_to_anchor=( 1.02 , 0.1 ), loc=' upper left ', borderaxespad= 0 ) 

Consulte a documentação do matplotlib para uma explicação detalhada do argumento bbox_to_anchor() .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns no Matplotlib:

Como alterar o tamanho da fonte da legenda no Matplotlib
Como adicionar um título à legenda no Matplotlib
Como ajustar a posição do título no Matplotlib
Como ajustar a posição do rótulo do eixo no Matplotlib

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *