matplotlib.scale#

Las escalas definen la distribución de valores de datos en un eje, por ejemplo, una escala logarítmica. Se definen como subclases de ScaleBase.

Ver también axes.Axes.set_xscaley los ejemplos de escalas en la documentación.

Consulte Escala personalizada para ver un ejemplo completo de cómo definir una escala personalizada.

Matplotlib también admite transformaciones no separables que operan en ambos Axisal mismo tiempo. Se conocen como proyecciones y se definen en matplotlib.projections.

clase matplotlib.escala. AsinhScale ( eje , * , ancho_lineal = 1.0 , base = 10 , subs = 'auto' , ** kwargs ) [fuente] #

Bases:ScaleBase

Una escala casi logarítmica basada en el seno hiperbólico inverso (asinh)

Para valores cercanos a cero, esta es esencialmente una escala lineal, pero para valores de gran magnitud (ya sean positivos o negativos) es asintóticamente logarítmica. La transición entre estos regímenes lineales y logarítmicos es suave y no tiene discontinuidades en el gradiente de la función en contraste con la SymmetricalLogScaleescala ("simlog").

En concreto, la transformación de una coordenada del eje\(a\)es \(a \rightarrow a_0 \sinh^{-1} (a / a_0)\)dónde\(a_0\) es el ancho efectivo de la región lineal de la transformación. En esa región, la transformación es \(a \rightarrow a + \mathcal{O}(a^3)\). Para valores grandes de\(a\)la transformación se comporta como \(a \rightarrow a_0 \, \mathrm{sgn}(a) \ln |a| + \mathcal{O}(1)\).

Nota

Esta API es provisional y puede revisarse en el futuro en función de los primeros comentarios de los usuarios.

Parámetros :
flotante de ancho_lineal , predeterminado: 1

El parámetro de escala (en otro lugar denominado\(a_0\)) que define la extensión de la región cuasilineal y los valores de coordenadas más allá de los cuales la transformación se vuelve asintóticamente logarítmica.

base int, por defecto: 10

La base numérica utilizada para redondear las ubicaciones de las marcas en una escala logarítmica. Si es menor que uno, entonces el redondeo es al múltiplo entero más cercano de las potencias de diez.

secuencia de subs de int

Múltiplos de la base numérica utilizada para ticks menores. Si se establece en 'automático', utilizará los valores predeterminados incorporados, por ejemplo (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 ( ) [fuente] #

Devuelve el Transformobjeto asociado a esta escala.

propiedad ancho_lineal #
nombre = 'asinh' #
set_default_locators_and_formatters ( eje ) [fuente] #

Establezca los localizadores y formateadores de eje en instancias adecuadas para esta escala.

clase matplotlib.escala. AsinhTransform ( ancho_lineal ) [fuente] #

Bases:Transform

Transformación inversa de seno hiperbólico utilizada porAsinhScale

Parámetros :
nombre_abreviado str

Una cadena que representa el "nombre" de la transformación. El nombre no tiene otro significado que el de mejorar la legibilidad str(transform)cuando DEBUG=True.

tiene_inverso = Verdadero #

Verdadero si esta transformada tiene una transformada inversa correspondiente.

entrada_dims = 1 #

El número de dimensiones de entrada de esta transformación. Debe anularse (con números enteros) en la subclase.

invertida ( ) [fuente] #

Devuelve la transformación inversa correspondiente.

se sostienex == self.inverted().transform(self.transform(x))

El valor de retorno de este método debe tratarse como temporal. Una actualización a mismo no provoca una actualización correspondiente a su copia invertida.

es_separable = Verdadero #

Verdadero si esta transformada es separable en las dimensiones x e y.

salida_dims = 1 #

El número de dimensiones de salida de esta transformación. Debe anularse (con números enteros) en la subclase.

transform_non_affine ( a ) [fuente] #

Aplique solo la parte no afín de esta transformación.

transform(values)siempre es equivalente a transform_affine(transform_non_affine(values)).

En transformaciones no afines, esto generalmente es equivalente a transform(values). En transformaciones afines, esto siempre es un no-op.

Parámetros :
matriz de valores

Los valores de entrada como matriz NumPy de longitud input_dimso forma (N x input_dims).

Devoluciones :
formación

Los valores de salida como matriz NumPy de longitud output_dimso forma (N x output_dims), según la entrada.

clase matplotlib.escala. FuncScale ( eje , funciones ) [fuente] #

Bases:ScaleBase

Proporcione una escala arbitraria con una función proporcionada por el usuario para el eje.

Parámetros :
ejeAxis

El eje de la escala.

funciones (invocables, invocables)

dos tuplas de las funciones directa e inversa de la escala. La función directa debe ser monótona.

Ambas funciones deben tener la firma:

def forward(values: array-like) -> array-like
get_transform ( ) [fuente] #

Devuelve el FuncTransformasociado a esta escala.

nombre = 'función' #
set_default_locators_and_formatters ( eje ) [fuente] #

Establezca los localizadores y formateadores de eje en instancias adecuadas para esta escala.

clase matplotlib.escala. FuncScaleLog ( eje , funciones , base = 10 ) [fuente] #

Bases:LogScale

Proporcione una escala arbitraria con una función proporcionada por el usuario para el eje y luego coloque ejes logarítmicos.

Parámetros :
ejematplotlib.axis.Axis

El eje de la escala.

funciones (invocables, invocables)

dos tuplas de las funciones directa e inversa de la escala. La función directa debe ser monótona.

Ambas funciones deben tener la firma:

def forward(values: array-like) -> array-like
flotante base , predeterminado: 10

Base logarítmica de la escala.

base de propiedad #
get_transform ( ) [fuente] #

Devuelve el Transformasociado a esta escala.

nombre = 'registro de funciones' #
clase matplotlib.escala. FuncTransform ( adelante , inverso ) [fuente] #

Bases:Transform

Una transformación simple que toma una función arbitraria para la transformación directa e inversa.

Parámetros :
reenviar llamada

La función directa para la transformación. Esta función debe tener una inversa y, para un mejor comportamiento, ser monótona. Debe tener la firma:

def forward(values: array-like) -> array-like
llamable inversa

La inversa de la función directa. Firma como forward.

tiene_inverso = Verdadero #

Verdadero si esta transformada tiene una transformada inversa correspondiente.

entrada_dims = 1 #

El número de dimensiones de entrada de esta transformación. Debe anularse (con números enteros) en la subclase.

invertida ( ) [fuente] #

Devuelve la transformación inversa correspondiente.

se sostienex == self.inverted().transform(self.transform(x))

El valor de retorno de este método debe tratarse como temporal. Una actualización a mismo no provoca una actualización correspondiente a su copia invertida.

es_separable = Verdadero #

Verdadero si esta transformada es separable en las dimensiones x e y.

salida_dims = 1 #

El número de dimensiones de salida de esta transformación. Debe anularse (con números enteros) en la subclase.

transform_non_affine ( valores ) [fuente] #

Aplique solo la parte no afín de esta transformación.

transform(values)siempre es equivalente a transform_affine(transform_non_affine(values)).

En transformaciones no afines, esto generalmente es equivalente a transform(values). En transformaciones afines, esto siempre es un no-op.

Parámetros :
matriz de valores

Los valores de entrada como matriz NumPy de longitud input_dimso forma (N x input_dims).

Devoluciones :
formación

Los valores de salida como matriz NumPy de longitud output_dimso forma (N x output_dims), según la entrada.

clase matplotlib.escala. InvertedAsinhTransform ( ancho_lineal ) [fuente] #

Bases:Transform

Transformación de seno hiperbólico utilizada porAsinhScale

Parámetros :
nombre_abreviado str

Una cadena que representa el "nombre" de la transformación. El nombre no tiene otro significado que el de mejorar la legibilidad str(transform)cuando DEBUG=True.

tiene_inverso = Verdadero #

Verdadero si esta transformada tiene una transformada inversa correspondiente.

entrada_dims = 1 #

El número de dimensiones de entrada de esta transformación. Debe anularse (con números enteros) en la subclase.

invertida ( ) [fuente] #

Devuelve la transformación inversa correspondiente.

se sostienex == self.inverted().transform(self.transform(x))

El valor de retorno de este método debe tratarse como temporal. Una actualización a mismo no provoca una actualización correspondiente a su copia invertida.

es_separable = Verdadero #

Verdadero si esta transformada es separable en las dimensiones x e y.

salida_dims = 1 #

El número de dimensiones de salida de esta transformación. Debe anularse (con números enteros) en la subclase.

transform_non_affine ( a ) [fuente] #

Aplique solo la parte no afín de esta transformación.

transform(values)siempre es equivalente a transform_affine(transform_non_affine(values)).

En transformaciones no afines, esto generalmente es equivalente a transform(values). En transformaciones afines, esto siempre es un no-op.

Parámetros :
matriz de valores

Los valores de entrada como matriz NumPy de longitud input_dimso forma (N x input_dims).

Devoluciones :
formación

Los valores de salida como matriz NumPy de longitud output_dimso forma (N x output_dims), según la entrada.

clase matplotlib.escala. InvertedLogTransform ( base ) [fuente] #

Bases:Transform

Parámetros :
nombre_abreviado str

Una cadena que representa el "nombre" de la transformación. El nombre no tiene otro significado que el de mejorar la legibilidad str(transform)cuando DEBUG=True.

tiene_inverso = Verdadero #

Verdadero si esta transformada tiene una transformada inversa correspondiente.

entrada_dims = 1 #

El número de dimensiones de entrada de esta transformación. Debe anularse (con números enteros) en la subclase.

invertida ( ) [fuente] #

Devuelve la transformación inversa correspondiente.

se sostienex == self.inverted().transform(self.transform(x))

El valor de retorno de este método debe tratarse como temporal. Una actualización a mismo no provoca una actualización correspondiente a su copia invertida.

es_separable = Verdadero #

Verdadero si esta transformada es separable en las dimensiones x e y.

salida_dims = 1 #

El número de dimensiones de salida de esta transformación. Debe anularse (con números enteros) en la subclase.

transform_non_affine ( a ) [fuente] #

Aplique solo la parte no afín de esta transformación.

transform(values)siempre es equivalente a transform_affine(transform_non_affine(values)).

En transformaciones no afines, esto generalmente es equivalente a transform(values). En transformaciones afines, esto siempre es un no-op.

Parámetros :
matriz de valores

Los valores de entrada como matriz NumPy de longitud input_dimso forma (N x input_dims).

Devoluciones :
formación

Los valores de salida como matriz NumPy de longitud output_dimso forma (N x output_dims), según la entrada.

clase matplotlib.escala. InvertedSymmetricalLogTransform ( base , linthresh , linscale ) [fuente] #

Bases:Transform

Parámetros :
nombre_abreviado str

Una cadena que representa el "nombre" de la transformación. El nombre no tiene otro significado que el de mejorar la legibilidad str(transform)cuando DEBUG=True.

tiene_inverso = Verdadero #

Verdadero si esta transformada tiene una transformada inversa correspondiente.

entrada_dims = 1 #

El número de dimensiones de entrada de esta transformación. Debe anularse (con números enteros) en la subclase.

invertida ( ) [fuente] #

Devuelve la transformación inversa correspondiente.

se sostienex == self.inverted().transform(self.transform(x))

El valor de retorno de este método debe tratarse como temporal. Una actualización a mismo no provoca una actualización correspondiente a su copia invertida.

es_separable = Verdadero #

Verdadero si esta transformada es separable en las dimensiones x e y.

salida_dims = 1 #

El número de dimensiones de salida de esta transformación. Debe anularse (con números enteros) en la subclase.

transform_non_affine ( a ) [fuente] #

Aplique solo la parte no afín de esta transformación.

transform(values)siempre es equivalente a transform_affine(transform_non_affine(values)).

En transformaciones no afines, esto generalmente es equivalente a transform(values). En transformaciones afines, esto siempre es un no-op.

Parámetros :
matriz de valores

Los valores de entrada como matriz NumPy de longitud input_dimso forma (N x input_dims).

Devoluciones :
formación

Los valores de salida como matriz NumPy de longitud output_dimso forma (N x output_dims), según la entrada.

clase matplotlib.escala. LinearScale ( eje ) [fuente] #

Bases:ScaleBase

La escala lineal predeterminada.

get_transform ( ) [fuente] #

Devuelve la transformación para el escalado lineal, que es solo el IdentityTransform.

nombre = 'lineal' #
set_default_locators_and_formatters ( eje ) [fuente] #

Establezca los localizadores y formateadores de eje en instancias adecuadas para esta escala.

clase matplotlib.escala. LogScale ( eje , * , base = 10 , subs = Ninguno , no positivo = 'clip' ) [fuente] #

Bases:ScaleBase

Una escala logarítmica estándar. Se tiene cuidado de trazar solo valores positivos.

Parámetros :
ejeAxis

El eje de la escala.

flotante base , predeterminado: 10

La base del logaritmo.

no positivo {'clip', 'máscara'}, predeterminado: 'clip'

Determina el comportamiento para valores no positivos. Pueden enmascararse como inválidos o recortarse a un número positivo muy pequeño.

secuencia subs de int, por defecto: Ninguno

Dónde colocar los subticks entre cada tick principal. Por ejemplo, en una escala log10, colocará 8 marcas menores separadas logarítmicamente entre cada marca principal.[2, 3, 4, 5, 6, 7, 8, 9]

base de propiedad #
get_transform ( ) [fuente] #

Devuelve el LogTransformasociado a esta escala.

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

Limite el dominio a valores positivos.

nombre = 'registro' #
set_default_locators_and_formatters ( eje ) [fuente] #

Establezca los localizadores y formateadores de eje en instancias adecuadas para esta escala.

clase matplotlib.escala. LogTransform ( base , nonpositive = 'clip' ) [fuente] #

Bases:Transform

Parámetros :
nombre_abreviado str

Una cadena que representa el "nombre" de la transformación. El nombre no tiene otro significado que el de mejorar la legibilidad str(transform)cuando DEBUG=True.

tiene_inverso = Verdadero #

Verdadero si esta transformada tiene una transformada inversa correspondiente.

entrada_dims = 1 #

El número de dimensiones de entrada de esta transformación. Debe anularse (con números enteros) en la subclase.

invertida ( ) [fuente] #

Devuelve la transformación inversa correspondiente.

se sostienex == self.inverted().transform(self.transform(x))

El valor de retorno de este método debe tratarse como temporal. Una actualización a mismo no provoca una actualización correspondiente a su copia invertida.

es_separable = Verdadero #

Verdadero si esta transformada es separable en las dimensiones x e y.

salida_dims = 1 #

El número de dimensiones de salida de esta transformación. Debe anularse (con números enteros) en la subclase.

transform_non_affine ( a ) [fuente] #

Aplique solo la parte no afín de esta transformación.

transform(values)siempre es equivalente a transform_affine(transform_non_affine(values)).

En transformaciones no afines, esto generalmente es equivalente a transform(values). En transformaciones afines, esto siempre es un no-op.

Parámetros :
matriz de valores

Los valores de entrada como matriz NumPy de longitud input_dimso forma (N x input_dims).

Devoluciones :
formación

Los valores de salida como matriz NumPy de longitud output_dimso forma (N x output_dims), según la entrada.

clase matplotlib.escala. LogisticTransform ( no positivo = 'máscara' ) [fuente] #

Bases:Transform

Parámetros :
nombre_abreviado str

Una cadena que representa el "nombre" de la transformación. El nombre no tiene otro significado que el de mejorar la legibilidad str(transform)cuando DEBUG=True.

tiene_inverso = Verdadero #

Verdadero si esta transformada tiene una transformada inversa correspondiente.

entrada_dims = 1 #

El número de dimensiones de entrada de esta transformación. Debe anularse (con números enteros) en la subclase.

invertida ( ) [fuente] #

Devuelve la transformación inversa correspondiente.

se sostienex == self.inverted().transform(self.transform(x))

El valor de retorno de este método debe tratarse como temporal. Una actualización a mismo no provoca una actualización correspondiente a su copia invertida.

es_separable = Verdadero #

Verdadero si esta transformada es separable en las dimensiones x e y.

salida_dims = 1 #

El número de dimensiones de salida de esta transformación. Debe anularse (con números enteros) en la subclase.

transform_non_affine ( a ) [fuente] #

transformación logística (base 10)

clase matplotlib.escala. LogitScale ( eje , no positivo = 'máscara' , * , una_mitad = '\\frac{1}{2}' , use_overline = False ) [fuente] #

Bases:ScaleBase

Escala logit para datos entre cero y uno, ambos excluidos.

Esta escala es similar a una escala logarítmica cercana a cero y a uno, y casi lineal alrededor de 0,5. Mapea el intervalo ]0, 1[ en ]-infty, +infty[.

Parámetros :
ejematplotlib.axis.Axis

Actualmente sin uso.

no positivo {'máscara', 'clip'}

Determina el comportamiento de los valores más allá del intervalo abierto ]0, 1[. Pueden enmascararse como inválidos o recortarse a un número muy cercano a 0 o 1.

use_overline bool, predeterminado: Falso

Indique el uso de la notación de supervivencia (overline{x}) en lugar de la notación estándar (1-x) para una probabilidad cercana a uno.

una_mitad de cadena, por defecto: r"frac{1}{2}"

La cadena utilizada por el formateador de ticks para representar 1/2.

get_transform ( ) [fuente] #

Devuelve el LogitTransformasociado a esta escala.

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

Limite el dominio a valores entre 0 y 1 (excluido).

nombre = 'logit' #
set_default_locators_and_formatters ( eje ) [fuente] #

Establezca los localizadores y formateadores de eje en instancias adecuadas para esta escala.

clase matplotlib.escala. LogitTransform ( no positivo = 'máscara' ) [fuente] #

Bases:Transform

Parámetros :
nombre_abreviado str

Una cadena que representa el "nombre" de la transformación. El nombre no tiene otro significado que el de mejorar la legibilidad str(transform)cuando DEBUG=True.

tiene_inverso = Verdadero #

Verdadero si esta transformada tiene una transformada inversa correspondiente.

entrada_dims = 1 #

El número de dimensiones de entrada de esta transformación. Debe anularse (con números enteros) en la subclase.

invertida ( ) [fuente] #

Devuelve la transformación inversa correspondiente.

se sostienex == self.inverted().transform(self.transform(x))

El valor de retorno de este método debe tratarse como temporal. Una actualización a mismo no provoca una actualización correspondiente a su copia invertida.

es_separable = Verdadero #

Verdadero si esta transformada es separable en las dimensiones x e y.

salida_dims = 1 #

El número de dimensiones de salida de esta transformación. Debe anularse (con números enteros) en la subclase.

transform_non_affine ( a ) [fuente] #

transformación logit (base 10), enmascarada o recortada

clase matplotlib.escala. ScaleBase ( eje ) [fuente] #

Bases:object

La clase base para todas las escalas.

Las escalas son transformaciones separables, que trabajan en una sola dimensión.

Las subclases deben anularse

name

El nombre de la escala.

get_transform()

Un método que devuelve un Transform, que convierte las coordenadas de datos en coordenadas escaladas. Esta transformación debería ser invertible, de modo que, por ejemplo, las posiciones del ratón se puedan volver a convertir en coordenadas de datos.

set_default_locators_and_formatters()

Un método que establece localizadores y formateadores predeterminados para un Axis que usa esta escala.

limit_range_for_scale()

Un método opcional que "fija" el rango del eje a valores aceptables, por ejemplo, restringiendo los ejes de escala logarítmica a valores positivos.

Construye una nueva escala.

notas

La siguiente nota es para implementadores de escala.

Por razones de retrocompatibilidad, las escalas toman un Axis objeto como primer argumento. Sin embargo, este argumento no debe usarse: un objeto de escala única debe ser utilizable por múltiples Axises al mismo tiempo.

get_transform ( ) [fuente] #

Devuelve el Transformobjeto asociado a esta escala.

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

Devuelve el rango vmin , vmax , restringido al dominio admitido por esta escala (si corresponde).

minpos debe ser el valor positivo mínimo en los datos. Las escalas logarítmicas lo utilizan para determinar un valor mínimo.

set_default_locators_and_formatters ( eje ) [fuente] #

Establezca los localizadores y formateadores de eje en instancias adecuadas para esta escala.

clase matplotlib.escala. SymmetricalLogScale ( eje , * , base = 10 , linthresh = 2 , subs = Ninguno , linscale = 1 ) [fuente] #

Bases:ScaleBase

La escala logarítmica simétrica es logarítmica tanto en dirección positiva como negativa desde el origen.

Dado que los valores cercanos a cero tienden hacia el infinito, es necesario tener un rango alrededor de cero que sea lineal. El parámetro linthresh permite al usuario especificar el tamaño de este rango ( -linthresh , linthresh ).

Parámetros :
flotante base , predeterminado: 10

La base del logaritmo.

linthresh flotante, por defecto: 2

Define el rango , dentro del cual el trazado es lineal. Esto evita que la trama vaya al infinito alrededor de cero.(-x, x)

secuencia de subs de int

Dónde colocar los subticks entre cada tick principal. Por ejemplo, en una escala log10: colocará 8 marcas menores separadas logarítmicamente entre cada marca principal.[2, 3, 4, 5, 6, 7, 8, 9]

flotador linscale , opcional

Esto permite que el rango lineal se estire en relación con el rango logarítmico. Su valor es el número de décadas a utilizar para cada mitad del rango lineal. Por ejemplo, cuando linscale == 1.0 (el valor predeterminado), el espacio utilizado para las mitades positiva y negativa del rango lineal será igual a una década en el rango logarítmico.(-linthresh, linthresh)

Construye una nueva escala.

notas

La siguiente nota es para implementadores de escala.

Por razones de retrocompatibilidad, las escalas toman un Axis objeto como primer argumento. Sin embargo, este argumento no debe usarse: un objeto de escala única debe ser utilizable por múltiples Axises al mismo tiempo.

base de propiedad #
get_transform ( ) [fuente] #

Devuelve el SymmetricalLogTransformasociado a esta escala.

propiedad linscale #
propiedad linthresh #
nombre = 'símbolo' #
set_default_locators_and_formatters ( eje ) [fuente] #

Establezca los localizadores y formateadores de eje en instancias adecuadas para esta escala.

clase matplotlib.escala. SymmetricalLogTransform ( base , linthresh , linscale ) [fuente] #

Bases:Transform

Parámetros :
nombre_abreviado str

Una cadena que representa el "nombre" de la transformación. El nombre no tiene otro significado que el de mejorar la legibilidad str(transform)cuando DEBUG=True.

tiene_inverso = Verdadero #

Verdadero si esta transformada tiene una transformada inversa correspondiente.

entrada_dims = 1 #

El número de dimensiones de entrada de esta transformación. Debe anularse (con números enteros) en la subclase.

invertida ( ) [fuente] #

Devuelve la transformación inversa correspondiente.

se sostienex == self.inverted().transform(self.transform(x))

El valor de retorno de este método debe tratarse como temporal. Una actualización a mismo no provoca una actualización correspondiente a su copia invertida.

es_separable = Verdadero #

Verdadero si esta transformada es separable en las dimensiones x e y.

salida_dims = 1 #

El número de dimensiones de salida de esta transformación. Debe anularse (con números enteros) en la subclase.

transform_non_affine ( a ) [fuente] #

Aplique solo la parte no afín de esta transformación.

transform(values)siempre es equivalente a transform_affine(transform_non_affine(values)).

En transformaciones no afines, esto generalmente es equivalente a transform(values). En transformaciones afines, esto siempre es un no-op.

Parámetros :
matriz de valores

Los valores de entrada como matriz NumPy de longitud input_dimso forma (N x input_dims).

Devoluciones :
formación

Los valores de salida como matriz NumPy de longitud output_dimso forma (N x output_dims), según la entrada.

matplotlib.escala. get_scale_names ( ) [fuente] #

Devuelve los nombres de las escalas disponibles.

matplotlib.escala. register_scale ( scale_class ) [fuente] #

Registre un nuevo tipo de báscula.

Parámetros :
scale_class subclase deScaleBase

La escala para registrar.

matplotlib.escala. scale_factory ( escala , eje , ** kwargs ) [fuente] #

Devuelve una clase de escala por nombre.

Parámetros :
escala {'asinh', 'función', 'registro de funciones', 'lineal', 'registro', 'logit', 'registro simbólico'}
ejematplotlib.axis.Axis