Como criar uma legenda manual no matplotlib (com exemplo)


Você pode usar as funções dos submódulos matplotlib.lines e matplotlib.patches para criar uma legenda manual em um gráfico matplotlib.

O exemplo a seguir mostra como fazer isso.

Exemplo: crie uma legenda manual no Matplotlib

O código a seguir mostra como criar um gráfico de dispersão no matplotlib com uma legenda padrão:

 import matplotlib. pyplot as plt

#define data to plot
x = [1, 2, 3, 4, 5, 6, 7]
y = [2, 3, 5, 8, 12, 18, 27]

#create scatter plot of x vs. y
plt. scatter (x, y, label=' Original Data ', color=' steelblue ')

#add legend
plt. legend ()

#displayplot
plt. show () 

Para criar uma legenda manual com linhas e quadrados personalizados, precisamos importar os submódulos matplotlib.lines e matplotlib.patches .

O código a seguir mostra como usar esses submódulos para criar uma legenda manual:

 import matplotlib. pyplot as plt
from matplotlib. lines import Line2D
import matplotlib. patches as mpatches

#define data to plot
x = [1, 2, 3, 4, 5, 6, 7]
y = [2, 3, 5, 8, 12, 18, 27]

#create scatter plot of x vs. y
plt. scatter (x, y, label=' Original Data ', color=' steelblue ')

#define handles and labels that will get added to legend
handles, labels = plt. gca (). get_legend_handles_labels ()

#define patches and lines to add to legend
patch1 = mpatches. Patch (color=' orange ', label=' First Manual Patch ')
patch2 = mpatches. Patch (color=' orange ', label=' First Manual Patch ')   
line1 = Line2D([0], [0], label=' First Manual Line ', color=' purple ')
line2 = Line2D([0], [0], label=' Second Manual Line ', color=' red ')

#add handles
handles. extend ([patch1, line1, line2])

#add legend
plt. legend (handles=handles)

#displayplot
plt. show () 

Legenda manual do Matplotlib

Observe que esta legenda inclui o rótulo dos dados originais, mas também os rótulos e formas dos elementos que adicionamos manualmente.

Para alterar os rótulos ou cores de qualquer um dos elementos, basta alterar os valores dos argumentos rótulo e cor no trecho de código anterior.

Nota : Consulte este tutorial para saber como alterar a posição da legenda no gráfico.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns no Matplotlib:

Como aumentar o tamanho do gráfico no Matplotlib
Como ajustar a posição do título no Matplotlib
Como definir intervalos de eixos no Matplotlib

Add a Comment

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