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_xscale
y 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
Axis
al 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
SymmetricalLogScale
escala ("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)} #
- propiedad ancho_lineal #
- nombre = 'asinh' #
- clase matplotlib.escala. AsinhTransform ( ancho_lineal ) [fuente] #
Bases:
Transform
Transformación inversa de seno hiperbólico utilizada por
AsinhScale
- 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 sostiene
x == self.inverted().transform(self.transform(x))
El valor de retorno de este método debe tratarse como temporal. Una actualización a sí 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 atransform_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_dims
o forma (N xinput_dims
).
- Devoluciones :
- formación
Los valores de salida como matriz NumPy de longitud
output_dims
o forma (N xoutput_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 :
- eje
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
- eje
- get_transform ( ) [fuente] #
Devuelve el
FuncTransform
asociado a esta escala.
- nombre = 'función' #
- 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 :
- eje
matplotlib.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.
- eje
- base de propiedad #
- 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 sostiene
x == self.inverted().transform(self.transform(x))
El valor de retorno de este método debe tratarse como temporal. Una actualización a sí 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 atransform_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_dims
o forma (N xinput_dims
).
- Devoluciones :
- formación
Los valores de salida como matriz NumPy de longitud
output_dims
o forma (N xoutput_dims
), según la entrada.
- clase matplotlib.escala. InvertedAsinhTransform ( ancho_lineal ) [fuente] #
Bases:
Transform
Transformación de seno hiperbólico utilizada por
AsinhScale
- 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 sostiene
x == self.inverted().transform(self.transform(x))
El valor de retorno de este método debe tratarse como temporal. Una actualización a sí 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 atransform_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_dims
o forma (N xinput_dims
).
- Devoluciones :
- formación
Los valores de salida como matriz NumPy de longitud
output_dims
o forma (N xoutput_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 sostiene
x == self.inverted().transform(self.transform(x))
El valor de retorno de este método debe tratarse como temporal. Una actualización a sí 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 atransform_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_dims
o forma (N xinput_dims
).
- Devoluciones :
- formación
Los valores de salida como matriz NumPy de longitud
output_dims
o forma (N xoutput_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 sostiene
x == self.inverted().transform(self.transform(x))
El valor de retorno de este método debe tratarse como temporal. Una actualización a sí 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 atransform_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_dims
o forma (N xinput_dims
).
- Devoluciones :
- formación
Los valores de salida como matriz NumPy de longitud
output_dims
o forma (N xoutput_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' #
- 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 :
- eje
Axis
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]
- eje
- base de propiedad #
- get_transform ( ) [fuente] #
Devuelve el
LogTransform
asociado a esta escala.
- nombre = 'registro' #
- 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 sostiene
x == self.inverted().transform(self.transform(x))
El valor de retorno de este método debe tratarse como temporal. Una actualización a sí 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 atransform_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_dims
o forma (N xinput_dims
).
- Devoluciones :
- formación
Los valores de salida como matriz NumPy de longitud
output_dims
o forma (N xoutput_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 sostiene
x == self.inverted().transform(self.transform(x))
El valor de retorno de este método debe tratarse como temporal. Una actualización a sí 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.
- 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 :
- eje
matplotlib.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.
- eje
- get_transform ( ) [fuente] #
Devuelve el
LogitTransform
asociado a esta escala.
- limit_range_for_scale ( vmin , vmax , minpos ) [fuente] #
Limite el dominio a valores entre 0 y 1 (excluido).
- nombre = 'logit' #
- 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 sostiene
x == self.inverted().transform(self.transform(x))
El valor de retorno de este método debe tratarse como temporal. Una actualización a sí 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.
- 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últiplesAxis
es al mismo tiempo.
- 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últiplesAxis
es al mismo tiempo.- base de propiedad #
- get_transform ( ) [fuente] #
Devuelve el
SymmetricalLogTransform
asociado a esta escala.
- propiedad linscale #
- propiedad linthresh #
- nombre = 'símbolo' #
- 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 sostiene
x == self.inverted().transform(self.transform(x))
El valor de retorno de este método debe tratarse como temporal. Una actualización a sí 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 atransform_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_dims
o forma (N xinput_dims
).
- Devoluciones :
- formación
Los valores de salida como matriz NumPy de longitud
output_dims
o forma (N xoutput_dims
), según la entrada.
- matplotlib.escala. register_scale ( scale_class ) [fuente] #
Registre un nuevo tipo de báscula.
- Parámetros :
- scale_class subclase de
ScaleBase
La escala para registrar.
- scale_class subclase de
- 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'}
- eje
matplotlib.axis.Axis