Como alterar a ordem dos elementos na legenda do matplotlib


Você pode usar o seguinte trecho de código para alterar a ordem dos elementos em uma legenda Matplotlib:

 #get handles and labels
handles, labels = plt. gca (). get_legend_handles_labels ()

#specify order of items in legend
order = [1,2,0]

#add legend to plot
plt. legend ([handles[idx] for idx in order],[labels[idx] for idx in order])

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: alterar a ordem dos elementos na legenda Matplotlib

Suponha que criemos o seguinte gráfico de linhas no 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],
                   'rebounds': [6, 8, 8, 10, 14, 12, 12, 10, 11]})

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

#add legend
plt. legend () 

Os elementos da legenda são colocados na ordem em que adicionamos as linhas ao gráfico.

No entanto, podemos usar a seguinte sintaxe para personalizar a ordem dos elementos na legenda:

 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],
                   'rebounds': [6, 8, 8, 10, 14, 12, 12, 10, 11]})

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

#get handles and labels
handles, labels = plt. gca (). get_legend_handles_labels ()

#specify order of items in legend
order = [1,2,0]

#add legend to plot
plt. legend ([handles[idx] for idx in order],[labels[idx] for idx in order]) 

Ordem das lendas do Matplotlib

Observe que especificamos:

  • ordem = [1, 2, 0]

Que significa:

  • O primeiro item da legenda deve ser o rótulo que estava originalmente na posição 1 do índice da legenda antiga (“Ajuda”).
  • O segundo elemento da legenda deve ser o rótulo que estava originalmente na posição de índice 2 da legenda antiga (“Bounces”)
  • O terceiro elemento da legenda deve ser o rótulo que estava originalmente na posição de índice 0 da legenda antiga (“Pontos”)

Recursos adicionais

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

Como alterar a posição de uma legenda no Matplotlib
Como colocar a legenda fora de um gráfico Matplotlib
Como alterar o tamanho da fonte da legenda no Matplotlib

Add a Comment

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