matplotlib.cbook#

Uma coleção de funções e classes utilitárias. Originalmente, muitos (mas não todos) eram do Python Cookbook -- daí o nome cbook.

Este módulo é seguro para importar de qualquer lugar dentro do Matplotlib; ele importa Matplotlib apenas em tempo de execução.

classe matplotlib.cbook. CallbackRegistry ( exception_handler=<função _exception_printer> , * , sinais=Nenhum ) [fonte] #

Bases:object

Lidar com registro, processamento, bloqueio e desconexão para um conjunto de sinais e retornos de chamada:

>>> def oneat(x):
...    print('eat', x)
>>> def ondrink(x):
...    print('drink', x)
>>> from matplotlib.cbook import CallbackRegistry
>>> callbacks = CallbackRegistry()
>>> id_eat = callbacks.connect('eat', oneat)
>>> id_drink = callbacks.connect('drink', ondrink)
>>> callbacks.process('drink', 123)
drink 123
>>> callbacks.process('eat', 456)
eat 456
>>> callbacks.process('be merry', 456)   # nothing will be called
>>> callbacks.disconnect(id_eat)
>>> callbacks.process('eat', 456)        # nothing will be called
>>> with callbacks.blocked(signal='drink'):
...     callbacks.process('drink', 123)  # nothing will be called
>>> callbacks.process('drink', 123)
drink 123

Na prática, deve-se sempre desconectar todos os retornos de chamada quando eles não forem mais necessários para evitar referências pendentes (e, portanto, vazamentos de memória). No entanto, o código real no Matplotlib raramente faz isso e, devido ao seu design, é bastante difícil colocar esse tipo de código. Para contornar isso e evitar esse tipo de vazamento de memória, em vez disso, armazenamos referências fracas apenas para métodos vinculados; portanto, quando o objeto de destino precisar morrer, o CallbackRegistry não o manterá vivo.

Parâmetros :
exceção_handler chamável, opcional

Se não for None, o exception_handler deve ser uma função que aceita um Exceptionúnico parâmetro. Ele é chamado com qualquer Exception gerado pelos retornos de chamada durante CallbackRegistry.process, e pode reativar a exceção ou manipulá-la de outra maneira.

O manipulador padrão imprime a exceção (com traceback.print_exc) se um loop de evento interativo estiver em execução; ele gera novamente a exceção se nenhum loop de evento interativo estiver em execução.

lista de sinais , opcional

Se não for Nenhum, os sinais são uma lista de sinais que este registro manipula: tentar processou connectpara um sinal que não está na lista gera um ValueError. O padrão, Nenhum, não restringe os sinais manipulados.

bloqueado ( * , sinal = Nenhum ) [fonte] #

Bloqueie o processamento de sinais de retorno de chamada.

Um gerenciador de contexto para bloquear/desabilitar temporariamente os sinais de callback de serem processados ​​pelos ouvintes registrados.

Parâmetros :
sinal str, opcional

O sinal de retorno de chamada para bloquear. O padrão é bloquear todos os sinais.

conectar ( sinal , func ) [fonte] #

Registre a função a ser chamada quando o sinal de sinal for gerado.

desconectar ( cid ) [fonte] #

Desconecte o callback registrado com id de callback cid .

Nenhum erro é levantado se tal retorno de chamada não existir.

processo ( s , * args , ** kwargs ) [fonte] #

Sinal de processo s .

Todas as funções cadastradas para receber callbacks em s serão chamadas com *argse **kwargs.

classe matplotlib.cbook. Garoupa ( init = () ) [fonte] #

Bases:object

Uma estrutura de dados de conjunto disjunto.

Os objetos podem ser unidos usando join(), testados quanto à conectividade usando joined(), e todos os conjuntos disjuntos podem ser recuperados usando o objeto como um iterador.

Os objetos que estão sendo unidos devem ser passíveis de hash e de referência fraca.

Exemplos

>>> from matplotlib.cbook import Grouper
>>> class Foo:
...     def __init__(self, s):
...         self.s = s
...     def __repr__(self):
...         return self.s
...
>>> a, b, c, d, e, f = [Foo(x) for x in 'abcdef']
>>> grp = Grouper()
>>> grp.join(a, b)
>>> grp.join(b, c)
>>> grp.join(d, e)
>>> list(grp)
[[a, b, c], [d, e]]
>>> grp.joined(a, b)
True
>>> grp.joined(a, c)
True
>>> grp.joined(a, d)
False
limpo ( ) [fonte] #

Limpe as referências fracas mortas do dicionário.

get_siblings ( a ) [fonte] #

Retorna todos os itens unidos por um , incluindo ele mesmo.

join ( a , * args ) [fonte] #

Junte os argumentos fornecidos no mesmo conjunto. Aceita um ou mais argumentos.

juntou -se ( a , b ) [fonte] #

Retorna se a e b são membros do mesmo conjunto.

remover ( a ) [fonte] #
classe matplotlib.cbook. GrouperView ( garoupa ) [fonte] #

Bases:object

Visualização imutável sobre um arquivo Grouper.

limpo ( ) [fonte] #

[ Obsoleto ] Limpe as referências fracas mortas do dicionário.

Notas

Obsoleto desde a versão 3.6.

get_siblings ( a ) [fonte] #

Retorna todos os itens unidos por um , incluindo ele mesmo.

join ( a , * args ) [fonte] #

[ Obsoleto ] Junte os argumentos fornecidos no mesmo conjunto. Aceita um ou mais argumentos.

Notas

Obsoleto desde a versão 3.6.

juntou -se ( a , b ) [fonte] #

Retorna se a e b são membros do mesmo conjunto.

remover ( a ) [fonte] #

[ Descontinuado ]

Notas

Obsoleto desde a versão 3.6:

classe matplotlib.cbook. Pilha ( padrão = Nenhum ) [fonte] #

Bases:object

Pilha de elementos com um cursor móvel.

Imita home/back/forward em um navegador da web.

voltar ( ) [fonte] #

Mova a posição para trás e retorne o elemento atual.

bolha ( o ) [fonte] #

Eleve todas as referências de o ao topo da pilha e retorne-as.

Aumentos :
ValueError

Se o não estiver na pilha.

claro ( ) [fonte] #

Esvazie a pilha.

vazio ( ) [fonte] #

Retorna se a pilha está vazia.

encaminhar ( ) [fonte] #

Mova a posição para frente e retorne o elemento atual.

casa ( ) [fonte] #

Empurre o primeiro elemento para o topo da pilha.

O primeiro elemento é retornado.

push ( o ) [fonte] #

Empurre o para a pilha na posição atual. Descarte todos os elementos posteriores.

o é devolvido.

remover ( o ) [fonte] #

Remova o da pilha.

Aumentos :
ValueError

Se o não estiver na pilha.

matplotlib.cbook. boxplot_stats ( X , whis = 1.5 , bootstrap = None , labels = None , autorange = False ) [fonte] #

Retorne uma lista de dicionários de estatísticas usados ​​para desenhar uma série de gráficos de caixas e bigodes usando bxp.

Parâmetros :
tipo matriz X

Dados que serão representados nos boxplots. Deve ter 2 ou menos dimensões.

whis float ou (float, float), padrão: 1.5

A posição dos bigodes.

Se flutuar, o bigode inferior está no datum mais baixo acima de , e o bigode superior no datum mais alto abaixo de , onde Q1 e Q3 são o primeiro e o terceiro quartis. O valor padrão de corresponde à definição original de boxplots de Tukey.Q1 - whis*(Q3-Q1)Q3 + whis*(Q3-Q1)whis = 1.5

Se um par de flutua, eles indicam os percentis nos quais desenhar os bigodes (por exemplo, (5, 95)). Em particular, definir isso como (0, 100) resulta em bigodes cobrindo todo o intervalo de dados.

No caso extremo em que , é definido automaticamente como (0, 100) (cobre todo o intervalo dos dados) se o intervalo automático for True.Q1 == Q3

Além dos bigodes, os dados são considerados outliers e são plotados como pontos individuais.

bootstrap int, opcional

Número de vezes que os intervalos de confiança em torno da mediana devem ser inicializados (método de percentil).

rótulos tipo array, opcional

Rótulos para cada conjunto de dados. O comprimento deve ser compatível com as dimensões de X .

autorange bool, opcional (Falso)

Quando Truee os dados são distribuídos de forma que os percentis 25 e 75 sejam iguais, whisé definido como (0, 100) de forma que as extremidades dos bigodes estejam no mínimo e no máximo dos dados.

Devoluções :
lista de ditado

Uma lista de dicionários contendo os resultados para cada coluna de dados. As chaves de cada dicionário são as seguintes:

Chave

Descrição do valor

etiqueta

rótulo de marcação para o boxplot

significa

valor médio aritmético

remédio

percentil 50

q1

primeiro quartil (25º percentil)

q3

terceiro quartil (75º percentil)

iqr

intervalo interquartílico

cilo

entalhe inferior ao redor da mediana

cihi

entalhe superior em torno da mediana

assobio

extremidade do bigode inferior

desejo

extremidade do bigode superior

folhetos

discrepantes

Notas

Abordagem sem bootstrapping para intervalo de confiança usa aproximação assintótica baseada em gaussiana:

\[\mathrm{med} \pm 1.57 \times \frac{\mathrm{iqr}}{\sqrt{N}}\]

Abordagem geral de: McGill, R., Tukey, JW e Larsen, WA (1978) "Variations of Boxplots", The American Statistician, 32:12-16.

matplotlib.cbook. contiguous_regions ( máscara ) [fonte] #

Retorne uma lista de (ind0, ind1) tal que mask[ind0:ind1].all()seja True e cobrimos todas essas regiões.

matplotlib.cbook. delete_masked_points ( * args ) [fonte] #

Encontre todos os pontos mascarados e/ou não finitos em um conjunto de argumentos e retorne os argumentos com apenas os pontos não mascarados restantes.

Os argumentos podem estar em qualquer uma das 5 categorias:

  1. Matrizes mascaradas 1-D

  2. Arrays 1-D

  3. ndarrays com mais de uma dimensão

  4. outros iteráveis ​​não string

  5. algo mais

O primeiro argumento deve estar em uma das primeiras quatro categorias; qualquer argumento com um comprimento diferente daquele do primeiro argumento (e, portanto, qualquer coisa na categoria 5) será transmitido inalterado.

As máscaras são obtidas de todos os argumentos do comprimento correto nas categorias 1, 2 e 4; um ponto é ruim se mascarado em uma matriz mascarada ou se for um nan ou inf. Nenhuma tentativa é feita para extrair uma máscara das categorias 2, 3 e 4 se numpy.isfinite não resultar em uma matriz booleana.

Todos os argumentos de entrada que não são passados ​​inalterados são retornados como ndarrays após a remoção dos pontos ou linhas correspondentes às máscaras em qualquer um dos argumentos.

Uma versão muito mais simples dessa função foi originalmente escrita como um auxiliar para Axes.scatter().

matplotlib.cbook. file_requires_unicode ( x ) [fonte] #

Retorna se o objeto semelhante a um arquivo gravável fornecido requer que o Unicode seja gravado nele.

matplotlib.cbook. flatten ( seq , scalarp=<função is_scalar_or_string> ) [source] #

Retorne um gerador de contêineres aninhados nivelados.

Por exemplo:

>>> from matplotlib.cbook import flatten
>>> l = (('John', ['Hunter']), (1, 23), [[([42, (5, 23)], )]])
>>> print(list(flatten(l)))
['John', 'Hunter', 1, 23, 42, 5, 23]

Por: Composto de Holger Krekel e Luther Blissett De: https://code.activestate.com/recipes/121294/ e Receita 1.12 no livro de receitas

matplotlib.cbook. get_sample_data ( fname , asfileobj = True , * , np_load = False ) [fonte] #

Retorna um arquivo de dados de amostra. fname é um caminho relativo ao mpl-data/sample_datadiretório. Se asfileobj retornar um True objeto de arquivo, caso contrário, apenas um caminho de arquivo.

Os arquivos de dados de amostra são armazenados no diretório 'mpl-data/sample_data' dentro do pacote Matplotlib.

Se o nome do arquivo terminar em .gz, o arquivo será descompactado implicitamente. Se o nome do arquivo terminar com .npy ou .npz, asfileobj for True e np_load for True, o arquivo será carregado com numpy.load. np_load atualmente é padronizado como False, mas será padronizado como True em uma versão futura.

matplotlib.cbook. index_of ( y ) [fonte] #

Uma função auxiliar para criar valores x razoáveis ​​para o y fornecido .

Isso é usado para plotar (x, y) se os valores de x não forem fornecidos explicitamente.

Primeiro tente y.index(supondo que y seja um pandas.Series), se isso falhar, use range(len(y)).

Isso será estendido no futuro para lidar com mais tipos de dados rotulados.

Parâmetros :
y float ou array-like
Devoluções :
x, y ndarray

Os valores x e y para plotar.

matplotlib.cbook. is_math_text ( s ) [fonte] #

Retorna se a string s contém expressões matemáticas.

Isso é feito verificando se s contém um número par de cifrões sem escape.

matplotlib.cbook. is_scalar_or_string ( val ) [fonte] #

Retorna se o objeto fornecido é escalar ou string.

matplotlib.cbook. is_writable_file_like ( obj ) [fonte] #

Retorna se obj se parece com um objeto de arquivo com um método de gravação .

matplotlib.cbook. ls_mapper = {'-': 'sólido', '--': 'tracejado', '-.': 'traço ponto', ':': 'pontilhado'} #

Mapeia códigos curtos para estilo de linha para seu nome completo usado por back-ends.

matplotlib.cbook. ls_mapper_r = {'dashdot': '-.', 'tracejado': '--', 'pontilhado': ':', 'sólido': '-'} #

Mapeia nomes completos para estilos de linha usados ​​por back-ends para seus códigos curtos.

classe matplotlib.cbook. maxdict ( maxsize ) [fonte] #

Bases:dict

[ Obsoleto ] Um dicionário com um tamanho máximo.

Notas

Isso não substitui todos os métodos relevantes para restringir o tamanho, apenas __setitem__, portanto, use com cuidado.

Obsoleto desde a versão 3.6: Use functools.lru_cache em vez disso.

matplotlib.cbook. normalize_kwargs ( kw , alias_mapping = Nenhum ) [fonte] #

Função auxiliar para normalizar as entradas do kwarg.

Parâmetros :
kw dict ou nenhum

Um ditado de argumentos de palavra-chave. None é explicitamente suportado e tratado como um dict vazio, para suportar funções com um parâmetro opcional do formulário props=None.

alias_mapping dict ou subclasse Artist ou instância Artist, opcional

Um mapeamento entre um nome canônico para uma lista de aliases, em ordem de precedência do menor para o maior.

Se o valor canônico não estiver na lista, presume-se que ele tenha a prioridade mais alta.

Se uma subclasse ou instância Artist for passada, use seu mapeamento de alias de propriedades.

Aumentos :
TypeError

Para corresponder ao que o Python gera se argumentos inválidos/argumentos de palavra-chave forem passados ​​para um callable.

matplotlib.cbook. open_file_cm ( path_or_file , mode = 'r' , encoding = None ) [source] #

Passar por objetos de arquivo e semelhantes a caminhos de gerenciamento de contexto.

matplotlib.cbook. print_cycles ( objetos , outstream=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'> , show_progress=False ) [source] #

Imprima loops de referências cíclicas nos objetos fornecidos .

Geralmente é útil passar gc.garbagepara encontrar os ciclos que estão impedindo que alguns objetos sejam coletados como lixo.

Parâmetros :
objetos

Uma lista de objetos para encontrar ciclos.

rio acima

O fluxo para saída.

show_progress bool

Se for True, imprima o número de objetos alcançados à medida que são encontrados.

matplotlib.cbook. pts_to_midstep ( x , * args ) [fonte] #

Converter linha contínua em passos intermediários.

Dado um conjunto de Npontos convertidos em 2Npontos que, quando conectados linearmente, fornecem uma função degrau que altera os valores no meio dos intervalos.

Parâmetros :
matriz x

A localização x das etapas. Pode estar vazio.

y1, ..., matriz yp

y arrays a serem transformados em etapas; todos devem ter o mesmo comprimento que x.

Devoluções :
variedade

Os valores x e y convertidos em etapas na mesma ordem da entrada; pode ser descompactado como . Se a entrada for length , cada uma dessas matrizes será length .x_out, y1_out, ..., yp_outN2N

Exemplos

>>> x_s, y1_s, y2_s = pts_to_midstep(x, y1, y2)
matplotlib.cbook. pts_to_poststep ( x , * args ) [fonte] #

Converter linha contínua em pós-etapas.

Dado um conjunto de Npontos convertidos em pontos, que quando conectados linearmente fornecem uma função degrau que altera os valores no final dos intervalos.2N + 1

Parâmetros :
matriz x

A localização x das etapas. Pode estar vazio.

y1, ..., matriz yp

y arrays a serem transformados em etapas; todos devem ter o mesmo comprimento que x.

Devoluções :
variedade

Os valores x e y convertidos em etapas na mesma ordem da entrada; pode ser descompactado como . Se a entrada for length , cada uma dessas matrizes será length . Para , o comprimento será 0.x_out, y1_out, ..., yp_outN2N + 1N=0

Exemplos

>>> x_s, y1_s, y2_s = pts_to_poststep(x, y1, y2)
matplotlib.cbook. pts_to_prestep ( x , * args ) [fonte] #

Converter linha contínua em pré-etapas.

Dado um conjunto de Npontos, converta em pontos, que quando conectados linearmente fornecem uma função degrau que altera os valores no início dos intervalos.2N - 1

Parâmetros :
matriz x

A localização x das etapas. Pode estar vazio.

y1, ..., matriz yp

y arrays a serem transformados em etapas; todos devem ter o mesmo comprimento que x.

Devoluções :
variedade

Os valores x e y convertidos em etapas na mesma ordem da entrada; pode ser descompactado como . Se a entrada for length , cada uma dessas matrizes será length . Para , o comprimento será 0.x_out, y1_out, ..., yp_outN2N + 1N=0

Exemplos

>>> x_s, y1_s, y2_s = pts_to_prestep(x, y1, y2)
matplotlib.cbook. report_memory ( i = 0 ) [fonte] #

[ Obsoleto ] Retorna a memória consumida pelo processo.

Notas

Obsoleto desde a versão 3.5: em vez disso, use psutil.virtual_memory.

matplotlib.cbook. safe_first_element ( obj ) [fonte] #

Retorne o primeiro elemento em obj .

Esta é uma forma independente de tipo de obter o primeiro elemento, suportando tanto o acesso ao índice quanto o protocolo do iterador.

matplotlib.cbook. safe_masked_invalid ( x , copy = False ) [fonte] #
matplotlib.cbook. higien_sequence ( dados ) [fonte] #

Converta objetos dictview em lista. Outras entradas são retornadas inalteradas.

classe matplotlib.cbook. lista_silenciosa ( tipo , seq = Nenhum ) [fonte] #

Bases:list

Uma lista com um arquivo repr().

Isso deve ser usado para uma lista homogênea de artistas, para que eles não causem uma saída longa e sem sentido.

Ao invés de

[<matplotlib.lines.Line2D object at 0x7f5749fed3c8>,
 <matplotlib.lines.Line2D object at 0x7f5749fed4e0>,
 <matplotlib.lines.Line2D object at 0x7f5758016550>]

um vai conseguir

<a list of 3 Line2D objects>

Se self.typefor Nenhum, o nome do tipo será obtido do primeiro item da lista (se houver).

matplotlib.cbook. simple_linear_interpolation ( a , etapas ) [fonte] #

Reamostrar uma matriz com pontos entre os pares de pontos originais.steps - 1

Ao longo de cada coluna de a , pontos são introduzidos entre cada valor original; os valores são linearmente interpolados.(steps - 1)

Parâmetros :
uma matriz, forma (n, ...)
passos int
Devoluções :
variedade

forma((n - 1) * steps + 1, ...)

matplotlib.cbook. strip_math ( s ) [fonte] #

Remova a formatação latex do mathtext.

Lida apenas com strings totalmente matemáticas e totalmente não matemáticas.

matplotlib.cbook. to_filehandle ( fname , flag = 'r' , return_opened = False , encoding = None ) [source] #

Converta um caminho em um identificador de arquivo aberto ou passe por um objeto semelhante a um arquivo.

Considere usar open_file_cmem vez disso, pois permite fechar adequadamente os objetos de arquivo recém-criados com mais facilidade.

Parâmetros :
fname str ou path-like ou file-like

Se strou os.PathLike, o arquivo é aberto usando os sinalizadores especificados por sinalizador e codificação . Se for um objeto semelhante a um arquivo, ele é passado.

sinalizador str, padrão: 'r'

Passado como o argumento de modoopen para quando fname é strou os.PathLike; ignorado se fname for semelhante a um arquivo.

return_opened bool, padrão: Falso

Se True, retorna o objeto de arquivo e um booleano indicando se este é um novo arquivo (que o chamador precisa fechar). Se False, retorna apenas o novo arquivo.

codificação str ou Nenhum, padrão: Nenhum

Passado como o argumento de modoopen para quando fname é strou os.PathLike; ignorado se fname for semelhante a um arquivo.

Devoluções :
tipo arquivo fh
bool aberto

open só é retornado se return_opened for True.

matplotlib.cbook. violin_stats ( X , método , pontos = 100 , quantis = Nenhum ) [fonte] #

Retorna uma lista de dicionários de dados que podem ser usados ​​para desenhar uma série de gráficos de violino.

Consulte a Returnsseção abaixo para ver as chaves necessárias do dicionário.

Os usuários podem pular esta função e passar um conjunto de dicionários definidos pelo usuário com as mesmas chaves em violinplotvez de usar o Matplotlib para fazer os cálculos. Consulte a seção Returns abaixo para as chaves que devem estar presentes nos dicionários.

Parâmetros :
tipo matriz X

Dados de amostra que serão usados ​​para produzir as estimativas de densidade do kernel gaussiano. Deve ter 2 ou menos dimensões.

método chamável

O método usado para calcular a estimativa de densidade do kernel para cada coluna de dados. Quando chamado via , deve retornar um vetor dos valores do KDE avaliados nos valores especificados em coords.method(v, coords)

pontos int, padrão: 100

Define o número de pontos para avaliar cada uma das estimativas de densidade do kernel gaussiano.

tipo array de quantis , padrão: Nenhum

Define (se não None) uma lista de floats no intervalo [0, 1] para cada coluna de dados, que representa os quantis que serão renderizados para aquela coluna de dados. Deve ter 2 ou menos dimensões. A matriz 1D será tratada como uma lista de singleton contendo-os.

Devoluções :
lista de ditado

Uma lista de dicionários contendo os resultados para cada coluna de dados. Os dicionários contêm pelo menos o seguinte:

  • coords: Uma lista de escalares contendo as coordenadas em que esta estimativa de densidade de kernel específica foi avaliada.

  • vals: Uma lista de escalares contendo os valores da estimativa de densidade do kernel em cada uma das coordenadas fornecidas em coords .

  • média: O valor médio para esta coluna de dados.

  • median: O valor mediano para esta coluna de dados.

  • min: O valor mínimo para esta coluna de dados.

  • max: O valor máximo para esta coluna de dados.

  • quantis: os valores de quantis para esta coluna de dados.