matplotlib.legend#

O módulo legenda define a classe Legenda, que é responsável por desenhar as legendas associadas aos eixos e/ou figuras.

Importante

É improvável que você crie uma instância Legend manualmente. A maioria dos usuários normalmente criaria uma legenda por meio da legend função. Para mais detalhes sobre legendas, há também um guia de legendas .

A Legendclasse é um contêiner de alças de legenda e textos de legenda.

O mapa do manipulador de legenda especifica como criar alças de legenda de artistas (linhas, patches, etc.) nos eixos ou figuras. Os manipuladores de legenda padrão são definidos no legend_handlermódulo. Embora nem todos os tipos de artista sejam cobertos pelos manipuladores de legenda padrão, os manipuladores de legenda personalizados podem ser definidos para oferecer suporte a objetos arbitrários.

Consulte o guia de legendas para obter mais informações.

classe matplotlib.legend. DraggableLegend ( legend , use_blit = False , update = 'loc' ) [source] #

Bases:DraggableOffsetBox

Wrapper em torno de um Legendsuporte para arrastar o mouse.

Parâmetros :
lendaLegend

A Legendinstância a ser encapsulada.

use_blit bool, opcional

Use blitting para uma composição de imagem mais rápida. Para obter detalhes, consulte FuncAnimation .

atualizar {'loc', 'bbox'}, opcional

Se for "loc", atualize o parâmetro loc da legenda ao finalizar. Se for "bbox", atualize o parâmetro bbox_to_anchor .

finalize_offset ( ) [fonte] #
classe matplotlib.legend. Legend ( pai , alças , rótulos , * , loc = Nenhum , numpoints = Nenhum , marcadorescala = Nenhum , marcadorprimeiro = True , scatterpoints = Nenhum , scatteryoffsets = Nenhum , prop = Nenhum , fontsize = Nenhum , labelcolor = Nenhum , borderpad= Nenhum , labelspacing = Nenhum , handlelength = Nenhum , handleheight = Nenhum , handletextpad = Nenhum , borderaxespad = Nenhum , columnpacing = Nenhum , ncols = 1 , modo = Nenhum , fancybox = Nenhum , shadow = Nenhum , título = Nenhum , title_fontsize = Nenhum, framealpha = Nenhum , edgecolor = Nenhum , facecolor = Nenhum , bbox_to_anchor = Nenhum , bbox_transform = Nenhum , frameon = Nenhum , handler_map = Nenhum , title_fontproperties = Nenhum , alinhamento = 'center' , ncol = 1 ) [source] #

Bases:Artist

Coloque uma legenda nos eixos na localização loc.

Parâmetros :
pai AxesouFigure

O artista que contém a legenda.

lida com lista deArtist

Uma lista de artistas (linhas, patches) a serem adicionados à legenda.

lista de marcadores de str

Uma lista de rótulos para mostrar ao lado dos artistas. O comprimento das alças e etiquetas deve ser o mesmo. Se não estiverem, serão truncados para o menor dos dois comprimentos.

Outros Parâmetros :
loc str ou par de floats, padrão: rcParams["legend.loc"](padrão: 'best') ('melhor' para eixos, 'canto superior direito' para figuras)

A localização da lenda.

As strings colocam a legenda no canto correspondente dos eixos/figura.'upper left', 'upper right', 'lower left', 'lower right'

As strings colocam a legenda no centro da aresta correspondente dos eixos/figura.'upper center', 'lower center', 'center left', 'center right'

A string 'center'coloca a legenda no centro dos eixos/figura.

O barbante 'best'coloca a legenda no local, entre os nove locais definidos até o momento, com o mínimo de sobreposição com outros artistas sorteados. Esta opção pode ser bastante lenta para gráficos com grandes quantidades de dados; sua velocidade de plotagem pode se beneficiar ao fornecer um local específico.

A localização também pode ser uma tupla de 2 dando as coordenadas do canto inferior esquerdo da legenda nas coordenadas dos eixos (caso em que bbox_to_anchor será ignorado).

Para compatibilidade com versões anteriores, (mas nenhum outro local) também pode ser escrito , e cada local de "string" também pode ser fornecido como um valor numérico:'center right''right'

Cadeia de Localização

Código de localização

'melhor'

0

'canto superior direito'

1

'superior esquerdo'

2

'inferior esquerdo'

3

'inferior direito'

4

'certo'

5

'centro esquerda'

6

'centro direita'

7

'centro inferior'

8

'centro superior'

9

'Centro'

10

bbox_to_anchor BboxBase, 2 tuplas ou 4 tuplas de floats

Caixa que serve para posicionar a legenda em conjunto com loc . O padrão é axes.bbox(se chamado como um método para Axes.legend) ou figure.bbox(se Figure.legend). Este argumento permite a colocação arbitrária da legenda.

As coordenadas Bbox são interpretadas no sistema de coordenadas fornecido por bbox_transform , com as coordenadas padrão Transform Axes ou Figure, dependendo de qual legendé chamada.

Se uma tupla 4 ou BboxBasefor fornecida, ela especifica a bbox em que a legenda é colocada. Para colocar a legenda na melhor localização no quadrante inferior direito dos eixos (ou figura):(x, y, width, height)

loc='best', bbox_to_anchor=(0.5, 0., 0.5, 0.5)

Uma tupla 2 coloca o canto da legenda especificada por loc em x, y. Por exemplo, para colocar o canto superior direito da legenda no centro dos eixos (ou figura), as seguintes palavras-chave podem ser usadas:(x, y)

loc='upper right', bbox_to_anchor=(0.5, 0.5)
ncols int, padrão: 1

O número de colunas que a legenda possui.

Para compatibilidade com versões anteriores, a ortografia ncol também é suportada, mas é desencorajada. Se ambos forem fornecidos, ncols terá precedência.

prop Nenhum ou matplotlib.font_manager.FontPropertiesou dict

As propriedades da fonte da legenda. Se Nenhum (padrão), a corrente matplotlib.rcParamsserá usada.

fontsize int ou {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}

O tamanho da fonte da legenda. Se o valor for numérico, o tamanho será o tamanho absoluto da fonte em pontos. Os valores de string são relativos ao tamanho de fonte padrão atual. Este argumento só é usado se prop não for especificado.

labelcolor str ou lista, padrão: rcParams["legend.labelcolor"](padrão: 'None')

A cor do texto na legenda. Uma sequência de cores válida (por exemplo, 'vermelho') ou uma lista de sequências de cores. A labelcolor também pode ser feita para combinar com a cor da linha ou marcador usando 'linecolor', 'markerfacecolor' (ou 'mfc') ou 'markeredgecolor' (ou 'mec').

Labelcolor pode ser definido globalmente usando rcParams["legend.labelcolor"](padrão: 'None'). Se Nenhum, use rcParams["text.color"](padrão: 'black').

numpoints int, padrão: rcParams["legend.numpoints"](padrão: 1)

O número de pontos de marcador na legenda ao criar uma entrada de legenda para uma Line2D(linha).

pontos de dispersão int, padrão: rcParams["legend.scatterpoints"](padrão: 1)

O número de pontos de marcador na legenda ao criar uma entrada de legenda para um PathCollection(gráfico de dispersão).

scatteryoffsets iterável de floats, padrão:[0.375, 0.5, 0.3125]

O deslocamento vertical (relativo ao tamanho da fonte) para os marcadores criados para uma entrada de legenda do gráfico de dispersão. 0.0 está na base do texto da legenda e 1.0 está no topo. Para desenhar todos os marcadores na mesma altura, defina como [0.5].

float de escala de marcador , padrão: rcParams["legend.markerscale"](padrão: 1.0)

O tamanho relativo dos marcadores de legenda em comparação com os originalmente desenhados.

marcadorprimeiro bool, padrão: True

Se True , o marcador de legenda é colocado à esquerda do rótulo da legenda. Se False , o marcador de legenda é colocado à direita do rótulo da legenda.

frameon bool, padrão: rcParams["legend.frameon"](padrão: True)

Se a legenda deve ser desenhada em um patch (quadro).

fantasiabox bool, padrão: rcParams["legend.fancybox"](padrão: True)

Se bordas arredondadas devem ser habilitadas ao redor do FancyBboxPatchque compõe o plano de fundo da legenda.

shadow bool, padrão: rcParams["legend.shadow"](padrão: False)

Se deve desenhar uma sombra por trás da legenda.

framealpha float, padrão: rcParams["legend.framealpha"](padrão: 0.8)

A transparência alfa do plano de fundo da legenda. Se shadow estiver ativado e framealpha for None, o valor padrão será ignorado.

facecolor "herdar" ou cor, padrão: rcParams["legend.facecolor"](padrão: 'inherit')

A cor de fundo da legenda. Se "inherit", use rcParams["axes.facecolor"](padrão: 'white').

edgecolor "herdar" ou cor, padrão: rcParams["legend.edgecolor"](padrão: '0.8')

A cor da borda do patch de plano de fundo da legenda. Se "inherit", use take rcParams["axes.edgecolor"](padrão: 'black').

modo {"expandir", Nenhum}

Se mode for definido como "expand"a legenda será expandida horizontalmente para preencher a área dos eixos (ou bbox_to_anchor se definir o tamanho da legenda).

bbox_transform Nenhum oumatplotlib.transforms.Transform

A transformação para a caixa delimitadora ( bbox_to_anchor ). Para um valor de None(padrão) a transAxestransformação dos eixos será usada.

título str ou nenhum

O título da lenda. O padrão é nenhum título ( None).

title_fontproperties Nenhum ou matplotlib.font_manager.FontPropertiesou dict

As propriedades da fonte do título da legenda. Se Nenhum (padrão), o argumento title_fontsize será usado se presente; se title_fontsize também for None, o atual rcParams["legend.title_fontsize"](padrão: None) será usado.

title_fontsize int ou {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}, padrão: rcParams["legend.title_fontsize"](padrão: None)

O tamanho da fonte do título da legenda. Observação: isso não pode ser combinado com title_fontproperties . Se você deseja definir o tamanho da fonte juntamente com outras propriedades de fonte, use o parâmetro de tamanho em title_fontproperties .

alinhamento {'centro', 'esquerda', 'direita'}, padrão: 'centro'

O alinhamento do título da legenda e a caixa de entradas. As entradas são alinhadas como um único bloco, de modo que os marcadores estejam sempre alinhados.

borderpad flutuante, padrão: rcParams["legend.borderpad"](padrão: 0.4)

O espaço em branco fracionário dentro da borda da legenda, em unidades de tamanho de fonte.

labelpacing flutuante, padrão: rcParams["legend.labelspacing"](padrão: 0.5)

O espaço vertical entre as entradas de legenda, em unidades de tamanho de fonte.

handlelength float, padrão: rcParams["legend.handlelength"](padrão: 2.0)

O comprimento das alças da legenda, em unidades de tamanho de fonte.

handleheight float, padrão: rcParams["legend.handleheight"](padrão: 0.7)

A altura das alças da legenda, em unidades de tamanho de fonte.

handletextpad flutuante, padrão: rcParams["legend.handletextpad"](padrão: 0.8)

O pad entre a alça da legenda e o texto, em unidades de tamanho de fonte.

borderaxespad float, padrão: rcParams["legend.borderaxespad"](padrão: 0.5)

O pad entre os eixos e a borda da legenda, em unidades de tamanho de fonte.

espaçamento de colunas float, padrão: rcParams["legend.columnspacing"](padrão: 2.0)

O espaçamento entre colunas, em unidades de tamanho de fonte.

handler_map dict ou Nenhum

As instâncias ou tipos de mapeamento de dicionário personalizado para um manipulador de legenda. Este handler_map atualiza o mapa do manipulador padrão encontrado em matplotlib.legend.Legend.get_legend_handler_map.

Notas

Os usuários podem especificar qualquer local arbitrário para a legenda usando o argumento de palavra-chave bbox_to_anchor . bbox_to_anchor pode ser um BboxBase(ou derivado dele) ou uma tupla de 2 ou 4 floats. Veja set_bbox_to_anchormais detalhes.

A localização da legenda pode ser especificada definindo loc com uma tupla de 2 floats, que é interpretada como o canto inferior esquerdo da legenda na coordenada dos eixos normalizados.

códigos = {'melhor': 0, 'centro': 10, 'centro esquerdo': 6, 'centro direito': 7, 'centro inferior ': 8, 'inferior esquerdo': 3, 'inferior direito': 4, 'right': 5, 'superior central': 9, 'superior esquerdo': 2, 'superior direito': 1} #
contém ( evento ) [fonte] #

Teste se o artista contém o evento do mouse.

Parâmetros :
evento do mousematplotlib.backend_bases.MouseEvent
Devoluções :
contém bool

Se algum valor está dentro do raio.

detalhes do ditado

Um dicionário específico do artista com detalhes do contexto do evento, como quais pontos estão contidos no raio de seleção. Consulte as subclasses individuais de Artista para obter detalhes.

desenhar ( renderizador ) [fonte] #

Desenhe o Artista (e seus filhos) usando o renderizador fornecido.

Isso não tem efeito se o artista não estiver visível ( Artist.get_visible retorna False).

Parâmetros :
subclasse do renderizador .RendererBase

Notas

Este método é substituído nas subclasses Artist.

draw_frame ( b ) [fonte] #

Defina se o patch da caixa de legenda é desenhado.

Parâmetros :
b bool
get_alignment ( ) [fonte] #

Obtenha o valor de alinhamento da caixa de legenda

get_bbox_to_anchor ( ) [fonte] #

Retorne o bbox ao qual a legenda será ancorada.

get_children ( ) [fonte] #

Retorna uma lista dos filhos Artistdeste Artist.

classmethod get_default_handler_map ( ) [fonte] #

Retorne o mapa do manipulador padrão global, compartilhado por todas as legendas.

get_draggable ( ) [fonte] #

Retorna Truese a legenda for arrastável, Falsecaso contrário.

get_frame ( ) [fonte] #

Retorna o Rectangleusado para enquadrar a legenda.

get_frame_on ( ) [fonte] #

Obtenha se o patch da caixa de legenda é desenhado.

get_legend_handler estático ( legend_handler_map , orig_handle ) [fonte] #

Retorne um manipulador de legenda de legend_handler_map que corresponda a orig_handler .

legend_handler_map deve ser um objeto de dicionário (que é retornado pelo método get_legend_handler_map).

Ele primeiro verifica se o próprio orig_handle é uma chave no legend_handler_map e retorna o valor associado. Caso contrário, ele verifica cada uma das classes em sua ordem de resolução de método. Se nenhuma chave correspondente for encontrada, ele retornará None.

get_legend_handler_map ( ) [fonte] #

Retorne o mapa do manipulador dessa instância de legenda.

get_lines ( ) [fonte] #

Retorna a lista de Line2Ds na legenda.

get_patches ( ) [fonte] #

Retorna a lista de Patchs na legenda.

get_texts ( ) [fonte] #

Retorna a lista de Texts na legenda.

get_tightbbox ( renderizador = Nenhum ) [fonte] #

Como Artist.get_window_extent, mas inclui qualquer recorte.

Parâmetros :
subclasse do renderizadorRendererBase

renderizador que será usado para desenhar as figuras (ie fig.canvas.get_renderer())

Devoluções :
Bbox

A caixa delimitadora delimitadora (em coordenadas de pixel da figura).

get_title ( ) [fonte] #

Retorne a Textinstância para o título da legenda.

get_window_extent ( renderizador = Nenhum ) [fonte] #

Obtenha a caixa delimitadora do artista no espaço de exibição.

A largura e a altura da caixa delimitadora não são negativas.

As subclasses devem substituir a inclusão no cálculo "apertado" da caixa delimitadora. O padrão é retornar uma caixa delimitadora vazia em 0, 0.

Tenha cuidado ao usar esta função, os resultados não serão atualizados se a extensão da janela do artista for alterada. A extensão pode mudar devido a quaisquer alterações na pilha de transformação, como alterar os limites dos eixos, o tamanho da figura ou a tela usada (como é feito ao salvar uma figura). Isso pode levar a um comportamento inesperado em que as figuras interativas ficarão bem na tela, mas serão salvas incorretamente.

set ( * , agg_filter=<UNSET> , alinhamento=<UNSET> , alpha=<UNSET> , animado=<UNSET> , bbox_to_anchor=<UNSET> , clip_box=<UNSET> , clip_on=<UNSET> , clip_path=<UNSET > , arrastável=<UNSET> , frame_on=<UNSET> , gid=<UNSET> , in_layout=<UNSET> , label=<UNSET> , mouseover=<UNSET> , ncols=<UNSET> , path_effects=<UNSET> , selecionador=<UNSET> ,rasterizado=<UNSET> ,sketch_params=<UNSET> , snap=<UNSET> , title=<UNSET> , transform=<UNSET> , url=<UNSET> , visible=<UNSET> , zorder=<UNSET> ) [source] #

Defina várias propriedades de uma só vez.

As propriedades suportadas são

Propriedade

Descrição

agg_filter

uma função de filtro, que usa uma matriz flutuante (m, n, 3) e um valor de dpi e retorna uma matriz (m, n, 3) e dois deslocamentos do canto inferior esquerdo da imagem

alignment

{'centro', 'esquerda', 'direita'}.

alpha

escalar ou nenhum

animated

bool

bbox_to_anchor

BboxBaseou tupla

clip_box

Bbox

clip_on

bool

clip_path

Patch ou (Caminho, Transformação) ou Nenhum

draggable

bool

figure

Figure

frame_on

bool

gid

str

in_layout

bool

label

objeto

mouseover

bool

ncols

desconhecido

path_effects

AbstractPathEffect

picker

None ou bool ou float ou callable

rasterized

bool

sketch_params

(escala: flutuante, comprimento: flutuante, aleatoriedade: flutuante)

snap

bool ou nenhum

title

str

transform

Transform

url

str

visible

bool

zorder

flutuador

set_alignment ( alinhamento ) [fonte] #

Defina o alinhamento do título da legenda e a caixa de entradas.

As entradas são alinhadas como um único bloco, de modo que os marcadores estejam sempre alinhados.

Parâmetros :
alinhamento {'centro', 'esquerda', 'direita'}.
set_bbox_to_anchor ( bbox , transform = None ) [source] #

Defina o bbox ao qual a legenda será ancorada.

Parâmetros :
bbox BboxBaseou tupla

A caixa delimitadora pode ser especificada das seguintes maneiras:

  • Uma BboxBaseinstância

  • Uma tupla de na transformação fornecida (coordenada de eixos normalizados se Nenhum)(left, bottom, width, height)

  • Uma tupla de onde a largura e a altura serão assumidas como zero.(left, bottom)

  • None , para remover a ancoragem do bbox e usar o bbox pai.

transformar Transform, opcional

Uma transformação a ser aplicada à caixa delimitadora. Se não for especificado, isso usará uma transformação para a caixa delimitadora do pai.

classmethod set_default_handler_map ( handler_map ) [fonte] #

Defina o mapa do manipulador padrão global, compartilhado por todas as legendas.

set_draggable ( estado , use_blit = False , update = 'loc' ) [fonte] #

Ative ou desative o suporte para arrastar o mouse da legenda.

Parâmetros :
estado bool

Se o arrastar do mouse está habilitado.

use_blit bool, opcional

Use blitting para uma composição de imagem mais rápida. Para obter detalhes, consulte FuncAnimation .

atualizar {'loc', 'bbox'}, opcional

O parâmetro da legenda a ser alterado ao arrastar:

  • 'loc': atualize o parâmetro loc da legenda

  • 'bbox': atualize o parâmetro bbox_to_anchor da legenda

Devoluções :
DraggableLegendou nenhum

Se o estado for , Trueretorna a DraggableLegendinstância auxiliar. Caso contrário, retorna None .

set_frame_on ( b ) [fonte] #

Defina se o patch da caixa de legenda é desenhado.

Parâmetros :
b bool
set_ncols ( ncols ) [fonte] #

Defina o número de colunas.

set_title ( título , prop = Nenhum ) [fonte] #

Defina o título da legenda e o estilo do título.

Parâmetros :
título str

O título da legenda.

suporte font_manager.FontPropertiesou stroupathlib.Path

As propriedades da fonte do título da legenda. Se for str, será interpretado como um padrão fontconfig analisado por FontProperties. Se for pathlib.Path, será interpretado como o caminho absoluto para um arquivo de fonte.

classmethod update_default_handler_map ( handler_map ) [fonte] #

Atualize o mapa do manipulador padrão global, compartilhado por todas as legendas.

zorder = 5 #