Como colocar a legenda fora de um gráfico matplotlib
Freqüentemente, você pode querer colocar a legenda de um gráfico Matplotlib fora do gráfico real.
Felizmente, isso é fácil de fazer usando a função matplotlib.pyplot.legend() combinada com o argumento bbox_to_anchor .
Este tutorial mostra vários exemplos de uso prático desta função.
Exemplo 1: Coloque a legenda no canto superior direito
O código a seguir mostra como colocar a legenda no canto superior direito fora de um gráfico Matplotlib:
import matplotlib.pyplot as plt #createplot plt. subplot (211) plt. plot ([2, 4, 6], label=" First Data ") plt. plot ([6, 4, 2], label=" Second Data ") #place legend in top right corner plt. legend (bbox_to_anchor=(1,1), loc=" upper left ") #showplot plt. show ()
Observe que o argumento loc diz ao Matplotlib para colocar o canto superior esquerdo da linha da legenda nas coordenadas (x,y) de (1,1) no gráfico.
Exemplo 2: Coloque a legenda no canto inferior direito
O código a seguir mostra como colocar a legenda no canto inferior direito fora de um gráfico Matplotlib:
import matplotlib.pyplot as plt #createplot plt. subplot (211) plt. plot ([2, 4, 6], label=" First Data ") plt. plot ([6, 4, 2], label=" Second Data ") #place legend in top right corner plt. legend (bbox_to_anchor=(1,0), loc=" lower left ") #showplot plt. show ()
Observe que o argumento loc diz ao Matplotlib para colocar o canto inferior esquerdo da linha da legenda nas coordenadas (x,y) de (1,0) no gráfico.
Exemplo 3: Coloque a legenda acima do gráfico
O código a seguir mostra como colocar a legenda acima do gráfico Matplotlib:
import matplotlib.pyplot as plt #createplot plt. subplot (211) plt. plot ([2, 4, 6], label=" First Data ") plt. plot ([6, 4, 2], label=" Second Data ") #place legend above plot plt. legend (bbox_to_anchor=(0, 1, 1, 0), loc=" lower left ", mode=" expand ", ncol= 2 ) #showplot plt. show ()
Observe que o argumento mode diz ao Matplotlib para estender a legenda até o comprimento do gráfico e o argumento ncol diz ao Matplotlib para colocar os rótulos da legenda em 2 colunas.
Também poderíamos deixar de fora os argumentos mode e ncol se quisermos apenas colocar a legenda no canto superior esquerdo acima do gráfico:
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns no Matplotlib:
Como alterar o tamanho da fonte em um gráfico Matplotlib
Como remover carrapatos de gráficos Matplotlib
Como mostrar linhas de grade em gráficos Matplotlib