matplotlib.scale
#
As escalas definem a distribuição de valores de dados em um eixo, por exemplo, uma escala logarítmica. Eles são definidos como subclasses de ScaleBase
.
Veja também axes.Axes.set_xscale
e os exemplos de escalas na documentação.
Consulte Escala personalizada para obter um exemplo completo de como definir uma escala personalizada.
Matplotlib também suporta transformações não separáveis que operam em ambos
Axis
ao mesmo tempo. Eles são conhecidos como projeções e definidos em
matplotlib.projections
.
- classe matplotlib.scale. AsinhScale ( axis , * , linear_width = 1.0 , base = 10 , subs = 'auto' , ** kwargs ) [source] #
Bases:
ScaleBase
Uma escala quase logarítmica baseada no seno hiperbólico inverso (asinh)
Para valores próximos de zero, esta é essencialmente uma escala linear, mas para valores de grande magnitude (positivos ou negativos) é assintoticamente logarítmica. A transição entre esses regimes linear e logarítmico é suave e não apresenta descontinuidades no gradiente de função em contraste com a
SymmetricalLogScale
escala ("symlog").Especificamente, a transformação de uma coordenada de eixo\(a\)é \(a \rightarrow a_0 \sinh^{-1} (a / a_0)\)Onde\(a_0\) é a largura efetiva da região linear da transformação. Nessa região, a transformação é \(a \rightarrow a + \mathcal{O}(a^3)\). Para grandes valores de\(a\)a transformação se comporta como \(a \rightarrow a_0 \, \mathrm{sgn}(a) \ln |a| + \mathcal{O}(1)\).
Observação
Esta API é provisória e pode ser revisada no futuro com base nos primeiros comentários dos usuários.
- Parâmetros :
- linear_width flutuante, padrão: 1
O parâmetro de escala (em outro lugar referido como\(a_0\)) definindo a extensão da região quase linear e os valores de coordenadas além dos quais a transformação se torna assintoticamente logarítmica.
- base int, padrão: 10
A base numérica usada para arredondar os locais dos ticks em uma escala logarítmica. Se for menor que um, o arredondamento será para o múltiplo inteiro mais próximo de potências de dez.
- sequência de subs de int
Múltiplos da base numérica usada para ticks menores. Se definido como 'auto', usará os padrões integrados, por exemplo (2, 5) para base=10.
- auto_tick_multipliers = {3: (2,), 4: (2,), 5: (2,), 8: (2, 4), 10: (2, 5), 16: (2, 4, 8), 64: (4, 16), 1024: (256, 512)} #
- propriedade linear_width #
- nome = 'asinh' #
- classe matplotlib.scale. AsinhTransform ( linear_width ) [fonte] #
Bases:
Transform
Transformação de seno hiperbólico inversa usada por
AsinhScale
- Parâmetros :
- shorthand_name str
Uma string que representa o "nome" da transformação. O nome não tem nenhum significado além de melhorar a legibilidade de
str(transform)
quando DEBUG=True.
- has_inverse = Verdadeiro #
Verdadeiro se esta transformação tiver uma transformação inversa correspondente.
- input_dims = 1 #
O número de dimensões de entrada desta transformação. Deve ser substituído (com números inteiros) na subclasse.
- invertido ( ) [fonte] #
Retorne a transformação inversa correspondente.
Ele segura .
x == self.inverted().transform(self.transform(x))
O valor de retorno desse método deve ser tratado como temporário. Uma atualização para si mesmo não causa uma atualização correspondente em sua cópia invertida.
- is_separable = Verdadeiro #
Verdadeiro se esta transformação for separável nas dimensões x e y.
- output_dims = 1 #
O número de dimensões de saída desta transformação. Deve ser substituído (com números inteiros) na subclasse.
- transform_non_affine ( a ) [fonte] #
Aplique apenas a parte não afim dessa transformação.
transform(values)
é sempre equivalente atransform_affine(transform_non_affine(values))
.Em transformações não afins, isso geralmente é equivalente a
transform(values)
. Em transformações afins, isso é sempre um no-op.- Parâmetros :
- matriz de valores
Os valores de entrada como matriz NumPy de comprimento
input_dims
ou forma (N xinput_dims
).
- Devoluções :
- variedade
Os valores de saída como matriz NumPy de comprimento
output_dims
ou forma (N xoutput_dims
), dependendo da entrada.
- classe matplotlib.scale. FuncScale ( eixo , funções ) [fonte] #
Bases:
ScaleBase
Forneça uma escala arbitrária com a função fornecida pelo usuário para o eixo.
- Parâmetros :
- eixo
Axis
O eixo da escala.
- funções (chamáveis, chamáveis)
duas tuplas das funções direta e inversa para a escala. A função de encaminhamento deve ser monotônica.
Ambas as funções devem ter a assinatura:
def forward(values: array-like) -> array-like
- eixo
- get_transform ( ) [fonte] #
Retorna o
FuncTransform
associado a esta escala.
- nome = 'função' #
- classe matplotlib.scale. FuncScaleLog ( eixo , funções , base = 10 ) [fonte] #
Bases:
LogScale
Forneça uma escala arbitrária com a função fornecida pelo usuário para o eixo e, em seguida, coloque os eixos logarítmicos.
- Parâmetros :
- eixo
matplotlib.axis.Axis
O eixo da escala.
- funções (chamáveis, chamáveis)
duas tuplas das funções direta e inversa para a escala. A função de encaminhamento deve ser monotônica.
Ambas as funções devem ter a assinatura:
def forward(values: array-like) -> array-like
- flutuação base , padrão: 10
Base logarítmica da escala.
- eixo
- base de propriedade #
- nome = 'funçãolog' #
- classe matplotlib.scale. FuncTransform ( forward , inverse ) [source] #
Bases:
Transform
Uma transformação simples que usa uma função arbitrária para a transformação direta e inversa.
- Parâmetros :
- encaminhar chamada
A função de encaminhamento para a transformação. Essa função deve ter uma inversa e, para melhor comportamento, ser monotônica. Deve conter a assinatura:
def forward(values: array-like) -> array-like
- resgatável inverso
O inverso da função direta. Assinatura como
forward
.
- has_inverse = Verdadeiro #
Verdadeiro se esta transformação tiver uma transformação inversa correspondente.
- input_dims = 1 #
O número de dimensões de entrada desta transformação. Deve ser substituído (com números inteiros) na subclasse.
- invertido ( ) [fonte] #
Retorne a transformação inversa correspondente.
Ele segura .
x == self.inverted().transform(self.transform(x))
O valor de retorno desse método deve ser tratado como temporário. Uma atualização para si mesmo não causa uma atualização correspondente em sua cópia invertida.
- is_separable = Verdadeiro #
Verdadeiro se esta transformação for separável nas dimensões x e y.
- output_dims = 1 #
O número de dimensões de saída desta transformação. Deve ser substituído (com números inteiros) na subclasse.
- transform_non_affine ( valores ) [fonte] #
Aplique apenas a parte não afim dessa transformação.
transform(values)
é sempre equivalente atransform_affine(transform_non_affine(values))
.Em transformações não afins, isso geralmente é equivalente a
transform(values)
. Em transformações afins, isso é sempre um no-op.- Parâmetros :
- matriz de valores
Os valores de entrada como matriz NumPy de comprimento
input_dims
ou forma (N xinput_dims
).
- Devoluções :
- variedade
Os valores de saída como matriz NumPy de comprimento
output_dims
ou forma (N xoutput_dims
), dependendo da entrada.
- classe matplotlib.scale. InvertedAsinhTransform ( linear_width ) [fonte] #
Bases:
Transform
Transformação de seno hiperbólico usada por
AsinhScale
- Parâmetros :
- shorthand_name str
Uma string que representa o "nome" da transformação. O nome não tem nenhum significado além de melhorar a legibilidade de
str(transform)
quando DEBUG=True.
- has_inverse = Verdadeiro #
Verdadeiro se esta transformação tiver uma transformação inversa correspondente.
- input_dims = 1 #
O número de dimensões de entrada desta transformação. Deve ser substituído (com números inteiros) na subclasse.
- invertido ( ) [fonte] #
Retorne a transformação inversa correspondente.
Ele segura .
x == self.inverted().transform(self.transform(x))
O valor de retorno desse método deve ser tratado como temporário. Uma atualização para si mesmo não causa uma atualização correspondente em sua cópia invertida.
- is_separable = Verdadeiro #
Verdadeiro se esta transformação for separável nas dimensões x e y.
- output_dims = 1 #
O número de dimensões de saída desta transformação. Deve ser substituído (com números inteiros) na subclasse.
- transform_non_affine ( a ) [fonte] #
Aplique apenas a parte não afim dessa transformação.
transform(values)
é sempre equivalente atransform_affine(transform_non_affine(values))
.Em transformações não afins, isso geralmente é equivalente a
transform(values)
. Em transformações afins, isso é sempre um no-op.- Parâmetros :
- matriz de valores
Os valores de entrada como matriz NumPy de comprimento
input_dims
ou forma (N xinput_dims
).
- Devoluções :
- variedade
Os valores de saída como matriz NumPy de comprimento
output_dims
ou forma (N xoutput_dims
), dependendo da entrada.
- classe matplotlib.scale. InvertedLogTransform ( base ) [fonte] #
Bases:
Transform
- Parâmetros :
- shorthand_name str
Uma string que representa o "nome" da transformação. O nome não tem nenhum significado além de melhorar a legibilidade de
str(transform)
quando DEBUG=True.
- has_inverse = Verdadeiro #
Verdadeiro se esta transformação tiver uma transformação inversa correspondente.
- input_dims = 1 #
O número de dimensões de entrada desta transformação. Deve ser substituído (com números inteiros) na subclasse.
- invertido ( ) [fonte] #
Retorne a transformação inversa correspondente.
Ele segura .
x == self.inverted().transform(self.transform(x))
O valor de retorno desse método deve ser tratado como temporário. Uma atualização para si mesmo não causa uma atualização correspondente em sua cópia invertida.
- is_separable = Verdadeiro #
Verdadeiro se esta transformação for separável nas dimensões x e y.
- output_dims = 1 #
O número de dimensões de saída desta transformação. Deve ser substituído (com números inteiros) na subclasse.
- transform_non_affine ( a ) [fonte] #
Aplique apenas a parte não afim dessa transformação.
transform(values)
é sempre equivalente atransform_affine(transform_non_affine(values))
.Em transformações não afins, isso geralmente é equivalente a
transform(values)
. Em transformações afins, isso é sempre um no-op.- Parâmetros :
- matriz de valores
Os valores de entrada como matriz NumPy de comprimento
input_dims
ou forma (N xinput_dims
).
- Devoluções :
- variedade
Os valores de saída como matriz NumPy de comprimento
output_dims
ou forma (N xoutput_dims
), dependendo da entrada.
- classe matplotlib.scale. InvertedSymmetricalLogTransform ( base , linthresh , linscale ) [fonte] #
Bases:
Transform
- Parâmetros :
- shorthand_name str
Uma string que representa o "nome" da transformação. O nome não tem nenhum significado além de melhorar a legibilidade de
str(transform)
quando DEBUG=True.
- has_inverse = Verdadeiro #
Verdadeiro se esta transformação tiver uma transformação inversa correspondente.
- input_dims = 1 #
O número de dimensões de entrada desta transformação. Deve ser substituído (com números inteiros) na subclasse.
- invertido ( ) [fonte] #
Retorne a transformação inversa correspondente.
Ele segura .
x == self.inverted().transform(self.transform(x))
O valor de retorno desse método deve ser tratado como temporário. Uma atualização para si mesmo não causa uma atualização correspondente em sua cópia invertida.
- is_separable = Verdadeiro #
Verdadeiro se esta transformação for separável nas dimensões x e y.
- output_dims = 1 #
O número de dimensões de saída desta transformação. Deve ser substituído (com números inteiros) na subclasse.
- transform_non_affine ( a ) [fonte] #
Aplique apenas a parte não afim dessa transformação.
transform(values)
é sempre equivalente atransform_affine(transform_non_affine(values))
.Em transformações não afins, isso geralmente é equivalente a
transform(values)
. Em transformações afins, isso é sempre um no-op.- Parâmetros :
- matriz de valores
Os valores de entrada como matriz NumPy de comprimento
input_dims
ou forma (N xinput_dims
).
- Devoluções :
- variedade
Os valores de saída como matriz NumPy de comprimento
output_dims
ou forma (N xoutput_dims
), dependendo da entrada.
- classe matplotlib.scale. LinearScale ( axis ) [fonte] #
Bases:
ScaleBase
A escala linear padrão.
- get_transform ( ) [fonte] #
Retorne a transformação para escala linear, que é apenas o arquivo
IdentityTransform
.
- nome = 'linear' #
- classe matplotlib.scale. LogScale ( axis , * , base = 10 , subs = Nenhum , não positivo = 'clip' ) [fonte] #
Bases:
ScaleBase
Uma escala logarítmica padrão. Tome cuidado para plotar apenas valores positivos.
- Parâmetros :
- eixo
Axis
O eixo da escala.
- flutuação base , padrão: 10
A base do logaritmo.
- não positivo {'clip', 'mask'}, padrão: 'clip'
Determina o comportamento para valores não positivos. Eles podem ser mascarados como inválidos ou cortados em um número positivo muito pequeno.
- sequência de subs de int, padrão: Nenhum
Onde colocar os subticks entre cada tick principal. Por exemplo, em uma escala log10, colocará 8 marcações secundárias com espaçamento logarítmico entre cada marca principal.
[2, 3, 4, 5, 6, 7, 8, 9]
- eixo
- base de propriedade #
- get_transform ( ) [fonte] #
Retorna o
LogTransform
associado a esta escala.
- nome = 'registro' #
- classe matplotlib.scale. LogTransform ( base , não positivo = 'clip' ) [fonte] #
Bases:
Transform
- Parâmetros :
- shorthand_name str
Uma string que representa o "nome" da transformação. O nome não tem nenhum significado além de melhorar a legibilidade de
str(transform)
quando DEBUG=True.
- has_inverse = Verdadeiro #
Verdadeiro se esta transformação tiver uma transformação inversa correspondente.
- input_dims = 1 #
O número de dimensões de entrada desta transformação. Deve ser substituído (com números inteiros) na subclasse.
- invertido ( ) [fonte] #
Retorne a transformação inversa correspondente.
Ele segura .
x == self.inverted().transform(self.transform(x))
O valor de retorno desse método deve ser tratado como temporário. Uma atualização para si mesmo não causa uma atualização correspondente em sua cópia invertida.
- is_separable = Verdadeiro #
Verdadeiro se esta transformação for separável nas dimensões x e y.
- output_dims = 1 #
O número de dimensões de saída desta transformação. Deve ser substituído (com números inteiros) na subclasse.
- transform_non_affine ( a ) [fonte] #
Aplique apenas a parte não afim dessa transformação.
transform(values)
é sempre equivalente atransform_affine(transform_non_affine(values))
.Em transformações não afins, isso geralmente é equivalente a
transform(values)
. Em transformações afins, isso é sempre um no-op.- Parâmetros :
- matriz de valores
Os valores de entrada como matriz NumPy de comprimento
input_dims
ou forma (N xinput_dims
).
- Devoluções :
- variedade
Os valores de saída como matriz NumPy de comprimento
output_dims
ou forma (N xoutput_dims
), dependendo da entrada.
- classe matplotlib.scale. LogisticTransform ( nonpositivo = 'máscara' ) [fonte] #
Bases:
Transform
- Parâmetros :
- shorthand_name str
Uma string que representa o "nome" da transformação. O nome não tem nenhum significado além de melhorar a legibilidade de
str(transform)
quando DEBUG=True.
- has_inverse = Verdadeiro #
Verdadeiro se esta transformação tiver uma transformação inversa correspondente.
- input_dims = 1 #
O número de dimensões de entrada desta transformação. Deve ser substituído (com números inteiros) na subclasse.
- invertido ( ) [fonte] #
Retorne a transformação inversa correspondente.
Ele segura .
x == self.inverted().transform(self.transform(x))
O valor de retorno desse método deve ser tratado como temporário. Uma atualização para si mesmo não causa uma atualização correspondente em sua cópia invertida.
- is_separable = Verdadeiro #
Verdadeiro se esta transformação for separável nas dimensões x e y.
- output_dims = 1 #
O número de dimensões de saída desta transformação. Deve ser substituído (com números inteiros) na subclasse.
- classe matplotlib.scale. LogitScale ( axis , não positivo = 'mask' , * , one_half = '\\frac{1}{2}' , use_overline = False ) [fonte] #
Bases:
ScaleBase
Escala Logit para dados entre zero e um, ambos excluídos.
Esta escala é semelhante a uma escala logarítmica próxima de zero e de um, e quase linear em torno de 0,5. Ele mapeia o intervalo ]0, 1[ em ]-infty, +infty[.
- Parâmetros :
- eixo
matplotlib.axis.Axis
Atualmente sem uso.
- não positivo {'máscara', 'clipe'}
Determina o comportamento para valores além do intervalo aberto ]0, 1[. Eles podem ser mascarados como inválidos ou cortados para um número muito próximo de 0 ou 1.
- use_overline bool, padrão: Falso
Indique o uso da notação de sobrevivência (overline{x}) no lugar da notação padrão (1-x) para probabilidade próxima a um.
- one_half str, padrão: r"frac{1}{2}"
A string usada para o formatador de ticks para representar 1/2.
- eixo
- get_transform ( ) [fonte] #
Retorna o
LogitTransform
associado a esta escala.
- limit_range_for_scale ( vmin , vmax , minpos ) [fonte] #
Limite o domínio a valores entre 0 e 1 (excluído).
- nome = 'logit' #
- classe matplotlib.scale. LogitTransform ( nonpositivo = 'máscara' ) [fonte] #
Bases:
Transform
- Parâmetros :
- shorthand_name str
Uma string que representa o "nome" da transformação. O nome não tem nenhum significado além de melhorar a legibilidade de
str(transform)
quando DEBUG=True.
- has_inverse = Verdadeiro #
Verdadeiro se esta transformação tiver uma transformação inversa correspondente.
- input_dims = 1 #
O número de dimensões de entrada desta transformação. Deve ser substituído (com números inteiros) na subclasse.
- invertido ( ) [fonte] #
Retorne a transformação inversa correspondente.
Ele segura .
x == self.inverted().transform(self.transform(x))
O valor de retorno desse método deve ser tratado como temporário. Uma atualização para si mesmo não causa uma atualização correspondente em sua cópia invertida.
- is_separable = Verdadeiro #
Verdadeiro se esta transformação for separável nas dimensões x e y.
- output_dims = 1 #
O número de dimensões de saída desta transformação. Deve ser substituído (com números inteiros) na subclasse.
- classe matplotlib.scale. ScaleBase ( axis ) [fonte] #
Bases:
object
A classe base para todas as escalas.
Escalas são transformações separáveis, trabalhando em uma única dimensão.
As subclasses devem substituir
name
O nome da escala.
get_transform()
Um método que retorna um
Transform
, que converte coordenadas de dados em coordenadas dimensionadas. Essa transformação deve ser invertível, de modo que, por exemplo, as posições do mouse possam ser convertidas de volta em coordenadas de dados.set_default_locators_and_formatters()
Um método que define localizadores e formatadores padrão para um
Axis
que usa essa escala.limit_range_for_scale()
Um método opcional que "fixa" o intervalo do eixo em valores aceitáveis, por exemplo, restringindo os eixos em escala logarítmica a valores positivos.
Construir uma nova escala.
Notas
A observação a seguir é para implementadores de escala.
Por motivos de retrocompatibilidade, as escalas usam um
Axis
objeto como primeiro argumento. No entanto, este argumento não deve ser usado: um único objeto de escala deve ser usado por váriosAxis
es ao mesmo tempo.
- classe matplotlib.scale. SymmetricalLogScale ( axis , * , base = 10 , linthresh = 2 , subs = None , linscale = 1 ) [fonte] #
Bases:
ScaleBase
A escala logarítmica simétrica é logarítmica nas direções positiva e negativa da origem.
Como os valores próximos de zero tendem ao infinito, é necessário ter uma faixa em torno de zero que seja linear. O parâmetro linthresh permite ao usuário especificar o tamanho deste intervalo (- linthresh , linthresh ).
- Parâmetros :
- flutuação base , padrão: 10
A base do logaritmo.
- linthresh flutuante, padrão: 2
Define o intervalo dentro do qual o gráfico é linear. Isso evita que o gráfico vá para o infinito em torno de zero.
(-x, x)
- sequência de subs de int
Onde colocar os subticks entre cada tick principal. Por exemplo, em uma escala log10: colocará 8 marcações secundárias com espaçamento logarítmico entre cada marca principal.
[2, 3, 4, 5, 6, 7, 8, 9]
- linscale flutuante, opcional
Isso permite que o intervalo linear seja estendido em relação ao intervalo logarítmico. Seu valor é o número de décadas a serem usadas para cada metade do intervalo linear. Por exemplo, quando linscale == 1,0 (o padrão), o espaço usado para as metades positiva e negativa do intervalo linear será igual a uma década no intervalo logarítmico.
(-linthresh, linthresh)
Construir uma nova escala.
Notas
A observação a seguir é para implementadores de escala.
Por motivos de retrocompatibilidade, as escalas usam um
Axis
objeto como primeiro argumento. No entanto, este argumento não deve ser usado: um único objeto de escala deve ser usado por váriosAxis
es ao mesmo tempo.- base de propriedade #
- get_transform ( ) [fonte] #
Retorna o
SymmetricalLogTransform
associado a esta escala.
- propriedade linscale #
- propriedade linthresh #
- nome = 'symlog' #
- classe matplotlib.scale. SymmetricalLogTransform ( base , linthresh , linscale ) [fonte] #
Bases:
Transform
- Parâmetros :
- shorthand_name str
Uma string que representa o "nome" da transformação. O nome não tem nenhum significado além de melhorar a legibilidade de
str(transform)
quando DEBUG=True.
- has_inverse = Verdadeiro #
Verdadeiro se esta transformação tiver uma transformação inversa correspondente.
- input_dims = 1 #
O número de dimensões de entrada desta transformação. Deve ser substituído (com números inteiros) na subclasse.
- invertido ( ) [fonte] #
Retorne a transformação inversa correspondente.
Ele segura .
x == self.inverted().transform(self.transform(x))
O valor de retorno desse método deve ser tratado como temporário. Uma atualização para si mesmo não causa uma atualização correspondente em sua cópia invertida.
- is_separable = Verdadeiro #
Verdadeiro se esta transformação for separável nas dimensões x e y.
- output_dims = 1 #
O número de dimensões de saída desta transformação. Deve ser substituído (com números inteiros) na subclasse.
- transform_non_affine ( a ) [fonte] #
Aplique apenas a parte não afim dessa transformação.
transform(values)
é sempre equivalente atransform_affine(transform_non_affine(values))
.Em transformações não afins, isso geralmente é equivalente a
transform(values)
. Em transformações afins, isso é sempre um no-op.- Parâmetros :
- matriz de valores
Os valores de entrada como matriz NumPy de comprimento
input_dims
ou forma (N xinput_dims
).
- Devoluções :
- variedade
Os valores de saída como matriz NumPy de comprimento
output_dims
ou forma (N xoutput_dims
), dependendo da entrada.
- matplotlib.scale. register_scale ( scale_class ) [fonte] #
Registre um novo tipo de balança.
- Parâmetros :
- subclasse scale_class de
ScaleBase
A escala a registar.
- subclasse scale_class de
- matplotlib.scale. scale_factory ( escala , eixo , ** kwargs ) [fonte] #
Retorna uma classe de escala por nome.
- Parâmetros :
- scale {'asinh', 'function', 'functionlog', 'linear', 'log', 'logit', 'symlog'}
- eixo
matplotlib.axis.Axis