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