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 qualquerException
gerado pelos retornos de chamada duranteCallbackRegistry.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
process
ouconnect
para um sinal que não está na lista gera umValueError
. 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.
- 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 usandojoined()
, 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
- 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.
- 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.
- 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.
- casa ( ) [fonte] #
Empurre o primeiro elemento para o topo da pilha.
O primeiro elemento é retornado.
- 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
True
e 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:
Matrizes mascaradas 1-D
Arrays 1-D
ndarrays com mais de uma dimensão
outros iteráveis não string
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_data
diretório. Se asfileobj retornar umTrue
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 umpandas.Series
), se isso falhar, userange(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.garbage
para 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
N
pontos convertidos em2N
pontos 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_out
N
2N
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
N
pontos 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_out
N
2N + 1
N=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
N
pontos, 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_out
N
2N + 1
N=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. 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.type
for 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_cm
em 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
str
ouos.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 modo
open
para quando fname éstr
ouos.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 modo
open
para quando fname éstr
ouos.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
Returns
seçã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
violinplot
vez 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.