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 Legend
classe é 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_handler
mó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
Legend
suporte para arrastar o mouse.- Parâmetros :
- lenda
Legend
A
Legend
instâ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 .
- lenda
- 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
Axes
ouFigure
O artista que contém a legenda.
- lida com lista de
Artist
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.
- pai
- 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 paraAxes.legend
) oufigure.bbox
(seFigure.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
BboxBase
for 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.FontProperties
ou dict As propriedades da fonte da legenda. Se Nenhum (padrão), a corrente
matplotlib.rcParams
será 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, usercParams["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
FancyBboxPatch
que 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"
, usercParams["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 takercParams["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 ou
matplotlib.transforms.Transform
A transformação para a caixa delimitadora ( bbox_to_anchor ). Para um valor de
None
(padrão) atransAxes
transformaçã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.FontProperties
ou 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
.
- loc str ou par de floats, padrão:
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. Vejaset_bbox_to_anchor
mais 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 mouse
matplotlib.backend_bases.MouseEvent
- evento do mouse
- 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
- subclasse do renderizador .
Notas
Este método é substituído nas subclasses Artist.
- classmethod get_default_handler_map ( ) [fonte] #
Retorne o mapa do manipulador padrão global, compartilhado por todas as legendas.
- 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_tightbbox ( renderizador = Nenhum ) [fonte] #
Como
Artist.get_window_extent
, mas inclui qualquer recorte.- Parâmetros :
- subclasse do renderizador
RendererBase
renderizador que será usado para desenhar as figuras (ie
fig.canvas.get_renderer()
)
- subclasse do renderizador
- Devoluções :
Bbox
A caixa delimitadora delimitadora (em coordenadas de pixel da figura).
- 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
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
{'centro', 'esquerda', 'direita'}.
escalar ou nenhum
bool
BboxBase
ou tuplabool
Patch ou (Caminho, Transformação) ou Nenhum
bool
bool
str
bool
objeto
bool
desconhecido
None ou bool ou float ou callable
bool
(escala: flutuante, comprimento: flutuante, aleatoriedade: flutuante)
bool ou nenhum
str
str
bool
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
BboxBase
ou tupla A caixa delimitadora pode ser especificada das seguintes maneiras:
Uma
BboxBase
instânciaUma 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.
- bbox
- 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 :
DraggableLegend
ou nenhumSe o estado for ,
True
retorna aDraggableLegend
instância auxiliar. Caso contrário, retorna None .
- 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.FontProperties
oustr
oupathlib.Path
As propriedades da fonte do título da legenda. Se for
str
, será interpretado como um padrão fontconfig analisado porFontProperties
. Se forpathlib.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 #