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_xscalee 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 Axisao 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 SymmetricalLogScaleescala ("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)} #
get_transform ( ) [fonte] #

Retorna o Transformobjeto associado a esta escala.

propriedade linear_width #
nome = 'asinh' #
set_default_locators_and_formatters ( axis ) [fonte] #

Defina os localizadores e formatadores de eixo para instâncias adequadas para esta escala.

classe matplotlib.scale. AsinhTransform ( linear_width ) [fonte] #

Bases:Transform

Transformação de seno hiperbólico inversa usada porAsinhScale

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 a transform_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_dimsou forma (N x input_dims).

Devoluções :
variedade

Os valores de saída como matriz NumPy de comprimento output_dimsou forma (N x output_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 :
eixoAxis

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
get_transform ( ) [fonte] #

Retorna o FuncTransformassociado a esta escala.

nome = 'função' #
set_default_locators_and_formatters ( axis ) [fonte] #

Defina os localizadores e formatadores de eixo para instâncias adequadas para esta escala.

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 :
eixomatplotlib.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.

base de propriedade #
get_transform ( ) [fonte] #

Retorna o Transformassociado a esta escala.

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 a transform_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_dimsou forma (N x input_dims).

Devoluções :
variedade

Os valores de saída como matriz NumPy de comprimento output_dimsou forma (N x output_dims), dependendo da entrada.

classe matplotlib.scale. InvertedAsinhTransform ( linear_width ) [fonte] #

Bases:Transform

Transformação de seno hiperbólico usada porAsinhScale

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 a transform_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_dimsou forma (N x input_dims).

Devoluções :
variedade

Os valores de saída como matriz NumPy de comprimento output_dimsou forma (N x output_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 a transform_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_dimsou forma (N x input_dims).

Devoluções :
variedade

Os valores de saída como matriz NumPy de comprimento output_dimsou forma (N x output_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 a transform_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_dimsou forma (N x input_dims).

Devoluções :
variedade

Os valores de saída como matriz NumPy de comprimento output_dimsou forma (N x output_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' #
set_default_locators_and_formatters ( axis ) [fonte] #

Defina os localizadores e formatadores de eixo para instâncias adequadas para esta escala.

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 :
eixoAxis

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]

base de propriedade #
get_transform ( ) [fonte] #

Retorna o LogTransformassociado a esta escala.

limit_range_for_scale ( vmin , vmax , minpos ) [fonte] #

Limite o domínio a valores positivos.

nome = 'registro' #
set_default_locators_and_formatters ( axis ) [fonte] #

Defina os localizadores e formatadores de eixo para instâncias adequadas para esta escala.

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 a transform_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_dimsou forma (N x input_dims).

Devoluções :
variedade

Os valores de saída como matriz NumPy de comprimento output_dimsou forma (N x output_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.

transform_non_affine ( a ) [fonte] #

transformação logística (base 10)

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 :
eixomatplotlib.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.

get_transform ( ) [fonte] #

Retorna o LogitTransformassociado 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' #
set_default_locators_and_formatters ( axis ) [fonte] #

Defina os localizadores e formatadores de eixo para instâncias adequadas para esta escala.

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.

transform_non_affine ( a ) [fonte] #

logit transform (base 10), mascarado ou cortado

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ários Axises ao mesmo tempo.

get_transform ( ) [fonte] #

Retorna o Transformobjeto associado a esta escala.

limit_range_for_scale ( vmin , vmax , minpos ) [fonte] #

Retorne o intervalo vmin , vmax , restrito ao domínio suportado por esta escala (se houver).

minpos deve ser o valor positivo mínimo nos dados. Isso é usado por escalas logarítmicas para determinar um valor mínimo.

set_default_locators_and_formatters ( axis ) [fonte] #

Defina os localizadores e formatadores de eixo para instâncias adequadas para esta escala.

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ários Axises ao mesmo tempo.

base de propriedade #
get_transform ( ) [fonte] #

Retorna o SymmetricalLogTransformassociado a esta escala.

propriedade linscale #
propriedade linthresh #
nome = 'symlog' #
set_default_locators_and_formatters ( axis ) [fonte] #

Defina os localizadores e formatadores de eixo para instâncias adequadas para esta escala.

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 a transform_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_dimsou forma (N x input_dims).

Devoluções :
variedade

Os valores de saída como matriz NumPy de comprimento output_dimsou forma (N x output_dims), dependendo da entrada.

matplotlib.scale. get_scale_names ( ) [fonte] #

Retorna os nomes das escalas disponíveis.

matplotlib.scale. register_scale ( scale_class ) [fonte] #

Registre um novo tipo de balança.

Parâmetros :
subclasse scale_class deScaleBase

A escala a registar.

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'}
eixomatplotlib.axis.Axis