matplotlib.transforms
#
Matplotlib incluye un marco para transformaciones geométricas arbitrarias que se utiliza para determinar la posición final de todos los elementos dibujados en el lienzo.
Las transformaciones se componen en árboles de TransformNode
objetos cuyo valor real depende de sus hijos. Cuando los contenidos de los niños cambian, sus padres se invalidan automáticamente. La próxima vez que se accede a una transformación invalidada, se vuelve a calcular para reflejar esos cambios. Este enfoque de invalidación/almacenamiento en caché evita recálculos innecesarios de transformaciones y contribuye a un mejor rendimiento interactivo.
Por ejemplo, aquí hay un gráfico del árbol de transformación utilizado para trazar datos en el gráfico:
El marco se puede utilizar para transformaciones afines y no afines. Sin embargo, por razones de velocidad, queremos usar los renderizadores de back-end para realizar transformaciones afines siempre que sea posible. Por lo tanto, es posible realizar solo la parte afín o no afín de una transformación en un conjunto de datos. Siempre se supone que el afín ocurre después del no afín. Para cualquier transformación:
full transform == non-affine part + affine part
No se espera que los backends manejen transformaciones no afines por sí mismos.
Consulte el tutorial Tutorial de transformaciones para ver ejemplos de cómo usar las transformaciones.
- clase matplotlib.transforms. Affine2D ( matriz = Ninguno , ** kwargs ) [fuente] #
Bases:
Affine2DBase
Una transformación afín 2D mutable.
Inicialice una transformación afín a partir de una matriz flotante numpy de 3x3:
a c e b d f 0 0 1
Si matriz es Ninguno, inicialice con la transformación de identidad.
- __init__ ( matriz = Ninguno , ** kwargs ) [fuente] #
Inicialice una transformación afín a partir de una matriz flotante numpy de 3x3:
a c e b d f 0 0 1
Si matriz es Ninguno, inicialice con la transformación de identidad.
- __módulo__ = 'matplotlib.transforma' #
- estático from_values ( a , b , c , d , e , f ) [fuente] #
Cree una nueva instancia de Affine2D a partir de los valores dados:
a c e b d f 0 0 1
.
- get_matrix ( ) [fuente] #
Obtenga la matriz de transformación subyacente como una matriz numérica de 3x3:
a c e b d f 0 0 1
.
- identidad estática ( ) [fuente] #
[ Obsoleto ] Devuelve un nuevo
Affine2D
objeto que es la transformación de identidad.A menos que esta transformación se mute más adelante, considere usar la
IdentityTransform
clase más rápida en su lugar.notas
En desuso desde la versión 3.6: utilice Affine2D() en su lugar.
- rotar ( theta ) [fuente] #
Agregue una rotación (en radianes) a esta transformación en su lugar.
Devuelve self , por lo que este método se puede encadenar fácilmente con más llamadas a
rotate()
,rotate_deg()
y .translate()
scale()
- rotar_alrededor ( x , y , theta ) [fuente] #
Agregue una rotación (en radianes) alrededor del punto (x, y) en su lugar.
Devuelve self , por lo que este método se puede encadenar fácilmente con más llamadas a
rotate()
,rotate_deg()
y .translate()
scale()
- rotar_deg ( grados ) [fuente] #
Agregue una rotación (en grados) a esta transformación en su lugar.
Devuelve self , por lo que este método se puede encadenar fácilmente con más llamadas a
rotate()
,rotate_deg()
y .translate()
scale()
- rotar_grados_alrededor ( x , y , grados ) [fuente] #
Agregue una rotación (en grados) alrededor del punto (x, y) en su lugar.
Devuelve self , por lo que este método se puede encadenar fácilmente con más llamadas a
rotate()
,rotate_deg()
y .translate()
scale()
- escala ( sx , sy = Ninguno ) [fuente] #
Agregue una escala en su lugar.
Si sy es Ninguno, se aplica la misma escala en las direcciones x e y .
Devuelve self , por lo que este método se puede encadenar fácilmente con más llamadas a
rotate()
,rotate_deg()
y .translate()
scale()
- establecer ( otro ) [fuente] #
Establezca esta transformación a partir de la copia congelada de otro
Affine2DBase
objeto.
- set_matrix ( mtx ) [fuente] #
Establezca la matriz de transformación subyacente de una matriz numpy de 3x3:
a c e b d f 0 0 1
.
- sesgar ( xShear , yShear ) [fuente] #
Agregue un sesgo en su lugar.
xShear y yShear son los ángulos de corte a lo largo de los ejes x e y , respectivamente, en radianes.
Devuelve self , por lo que este método se puede encadenar fácilmente con más llamadas a
rotate()
,rotate_deg()
y .translate()
scale()
- skew_deg ( xShear , yShear ) [fuente] #
Agregue un sesgo en su lugar.
xShear y yShear son los ángulos de corte a lo largo de los ejes x e y , respectivamente, en grados.
Devuelve self , por lo que este método se puede encadenar fácilmente con más llamadas a
rotate()
,rotate_deg()
y .translate()
scale()
- traducir ( tx , ty ) [fuente] #
Agregue una traducción en su lugar.
Devuelve self , por lo que este método se puede encadenar fácilmente con más llamadas a
rotate()
,rotate_deg()
y .translate()
scale()
- clase matplotlib.transforms. Affine2DBase ( * argumentos , ** kwargs ) [fuente] #
Bases:
AffineBase
La clase base de todas las transformaciones afines 2D.
Las transformaciones afines 2D se realizan utilizando una matriz numpy de 3x3:
a c e b d f 0 0 1
Esta clase proporciona la interfaz de solo lectura. Para una transformación afín 2D mutable, use
Affine2D
.Las subclases de esta clase generalmente solo necesitarán anular un constructor y
get_matrix()
eso genera una matriz personalizada de 3x3.- 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.
- __anotaciones__ = {} #
- __módulo__ = 'matplotlib.transforma' #
- congelado ( ) [fuente] #
Devuelve una copia congelada de este nodo de transformación. La copia congelada no se actualizará cuando cambien sus elementos secundarios. Útil para almacenar un estado previamente conocido de una transformación donde
copy.deepcopy()
podría usarse normalmente.
- tiene_inverso = Verdadero #
Verdadero si esta transformada tiene una transformada inversa correspondiente.
- entrada_dims = 2 #
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.
- la propiedad es_separable #
booleano(x) -> booleano
Devuelve True cuando el argumento x es verdadero, False en caso contrario. Los componentes True y False son las únicas dos instancias de la clase bool. La clase bool es una subclase de la clase int y no puede subclasificarse.
- salida_dims = 2 #
El número de dimensiones de salida de esta transformación. Debe anularse (con números enteros) en la subclase.
- transform_affine ( puntos ) [fuente] #
Aplique solo la parte afín de esta transformación en la matriz de valores dada.
transform(values)
siempre es equivalente atransform_affine(transform_non_affine(values))
.En transformaciones no afines, esto generalmente no es operativo. En transformaciones afines, esto es equivalente a
transform(values)
.- 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.transforms. AffineBase ( * argumentos , ** kwargs ) [fuente] #
Bases:
Transform
La clase base de todas las transformaciones afines de cualquier número de dimensiones.
- 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.
- __anotaciones__ = {} #
- __array__ ( * argumentos , ** kwargs ) [fuente] #
Interfaz de matriz para llegar a la matriz afín de este Transform.
- __hash__ = Ninguno #
- __init__ ( * argumentos , ** kwargs ) [fuente] #
- 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.
- __módulo__ = 'matplotlib.transforma' #
- es_afín = Verdadero #
- transformar ( valores ) [fuente] #
Aplique esta transformación en la matriz de valores dada .
- 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.
- transform_affine ( valores ) [fuente] #
Aplique solo la parte afín de esta transformación en la matriz de valores dada.
transform(values)
siempre es equivalente atransform_affine(transform_non_affine(values))
.En transformaciones no afines, esto generalmente no es operativo. En transformaciones afines, esto es equivalente a
transform(values)
.- 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.
- transform_non_affine ( puntos ) [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.
- transform_path ( ruta ) [fuente] #
Aplique la transformación a la ruta , devolviendo una nueva .
Path
Path
En algunos casos, esta transformación puede insertar curvas en la ruta que comenzó como segmentos de línea.
- clase matplotlib.transforms. AffineDeltaTransform ( transformar , ** kwargs ) [fuente] #
Bases:
Affine2DBase
Un contenedor de transformación para transformar desplazamientos entre pares de puntos.
Esta clase está destinada a ser utilizada para transformar desplazamientos ("deltas de posición") entre pares de puntos (p. ej., como el
offset_transform
deCollection
s): dada una transformaciónt
tal que , satisface .t = AffineDeltaTransform(t) + offset
AffineDeltaTransform
AffineDeltaTransform(a - b) == AffineDeltaTransform(a) - AffineDeltaTransform(b)
Esto se implementa forzando a cero los componentes de compensación de la matriz de transformación.
Esta clase es experimental a partir de 3.3 y la API puede cambiar.
- 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.
- __anotaciones__ = {} #
- __init__ ( transformar , ** kwargs ) [fuente] #
- 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.
- __módulo__ = 'matplotlib.transforma' #
- clase matplotlib.transforms. Bbox ( puntos , ** kwargs ) [fuente] #
Bases:
BboxBase
Un cuadro delimitador mutable.
Ejemplos
Crear a partir de límites conocidos
El constructor predeterminado toma los "puntos" de límite .
[[xmin, ymin], [xmax, ymax]]
>>> Bbox([[1, 1], [3, 7]]) Bbox([[1.0, 1.0], [3.0, 7.0]])
Alternativamente, se puede crear un Bbox a partir de la matriz de puntos aplanados, las llamadas "extensiones"
(xmin, ymin, xmax, ymax)
>>> Bbox.from_extents(1, 1, 3, 7) Bbox([[1.0, 1.0], [3.0, 7.0]])
o desde los "límites" .
(xmin, ymin, width, height)
>>> Bbox.from_bounds(1, 1, 2, 6) Bbox([[1.0, 1.0], [3.0, 7.0]])
Crear a partir de colecciones de puntos
El objeto "vacío" para acumular Bboxs es el bbox nulo, que es un sustituto del conjunto vacío.
>>> Bbox.null() Bbox([[inf, inf], [-inf, -inf]])
Agregar puntos al bbox nulo le dará el bbox de esos puntos.
>>> box = Bbox.null() >>> box.update_from_data_xy([[1, 1]]) >>> box Bbox([[1.0, 1.0], [1.0, 1.0]]) >>> box.update_from_data_xy([[2, 3], [3, 2]], ignore=False) >>> box Bbox([[1.0, 1.0], [3.0, 3.0]])
La configuración
ignore=True
es equivalente a comenzar de nuevo desde un bbox nulo.>>> box.update_from_data_xy([[1, 1]], ignore=True) >>> box Bbox([[1.0, 1.0], [1.0, 1.0]])
Advertencia
Se recomienda especificar siempre
ignore
explícitamente. De lo contrario, el valor predeterminado deignore
se puede cambiar en cualquier momento mediante un código con acceso a su Bbox, por ejemplo, utilizando el métodoignore
.Propiedades del bbox ``null``
Nota
El comportamiento actual de
Bbox.null()
puede ser sorprendente, ya que no tiene todas las propiedades del "conjunto vacío" y, como tal, no se comporta como un objeto "cero" en el sentido matemático. Podemos cambiar eso en el futuro (con un período de obsolescencia).El bbox nulo es la identidad de las intersecciones.
>>> Bbox.intersection(Bbox([[1, 1], [3, 7]]), Bbox.null()) Bbox([[1.0, 1.0], [3.0, 7.0]])
excepto consigo mismo, donde devuelve el espacio completo.
>>> Bbox.intersection(Bbox.null(), Bbox.null()) Bbox([[-inf, -inf], [inf, inf]])
Una unión que contiene nulo siempre devolverá el espacio completo (¡no el otro conjunto!)
>>> Bbox.union([Bbox([[0, 0], [0, 0]]), Bbox.null()]) Bbox([[-inf, -inf], [inf, inf]])
- Parámetros :
- puntos ndarray
Una matriz numpy de 2x2 de la forma .
[[x0, y0], [x1, y1]]
- __anotaciones__ = {} #
- __init__ ( puntos , ** kwargs ) [fuente] #
- Parámetros :
- puntos ndarray
Una matriz numpy de 2x2 de la forma .
[[x0, y0], [x1, y1]]
- __módulo__ = 'matplotlib.transforma' #
- estático from_bounds ( x0 , y0 , ancho , alto ) [fuente] #
Crea uno nuevo
Bbox
a partir de x0 , y0 , ancho y alto .el ancho y la altura pueden ser negativos.
- estático from_extents ( * args , minpos = Ninguno ) [fuente] #
Cree un nuevo Bbox desde la izquierda , la parte inferior , la derecha y la parte superior .
El eje y aumenta hacia arriba.
- Parámetros :
- izquierda, abajo, derecha, flotador superior
Las cuatro extensiones del cuadro delimitador.
- minpos flotante o Ninguno
Si se proporciona, el Bbox tendrá un valor mínimo positivo establecido. Esto es útil cuando se trabaja con escalas logarítmicas y otras escalas donde los límites negativos dan como resultado errores de coma flotante.
- congelado ( ) [fuente] #
La clase base para todo lo que participa en el árbol de transformación y necesita invalidar a sus padres o ser invalidado. Esto incluye clases que no son realmente transformaciones, como cuadros delimitadores, ya que algunas transformaciones dependen de cuadros delimitadores para calcular sus valores.
- obtener_puntos ( ) [fuente] #
Obtenga los puntos del cuadro delimitador directamente como una matriz numérica de la forma: .
[[x0, y0], [x1, y1]]
- ignorar ( valor ) [fuente] #
Establezca si los límites existentes del cuadro deben ignorarse en las llamadas posteriores a
update_from_data_xy()
.- valor booleano
Cuando
True
, las llamadas posteriores aupdate_from_data_xy()
ignorarán los límites existentes deBbox
.Cuando
False
, las llamadas posteriores aupdate_from_data_xy()
incluirán los límites existentes deBbox
.
- propiedad intervalox #
El par de coordenadas x que definen el cuadro delimitador.
No se garantiza que esto se ordene de izquierda a derecha.
- propiedad intervalo #
El par de coordenadas y que definen el cuadro delimitador.
No se garantiza que esto se ordene de abajo hacia arriba.
- propiedad minpos #
El valor mínimo positivo en ambas direcciones dentro del Bbox.
Esto es útil cuando se trabaja con escalas logarítmicas y otras escalas en las que los límites negativos dan como resultado errores de coma flotante, y se usará como la extensión mínima en lugar de p0 .
- propiedad minposx #
El valor positivo mínimo en la dirección x dentro del Bbox.
Esto es útil cuando se trabaja con escalas logarítmicas y otras escalas en las que los límites negativos dan como resultado errores de punto flotante, y se usará como la extensión x mínima en lugar de x0 .
- propiedad minposy #
El valor positivo mínimo en la dirección y dentro del Bbox.
Esto es útil cuando se trabaja con escalas logarítmicas y otras escalas en las que los límites negativos dan como resultado errores de coma flotante, y se usará como la extensión y mínima en lugar de y0 .
- propiedad p0 #
El primer par de coordenadas ( x , y ) que definen el cuadro delimitador.
No se garantiza que sea la esquina inferior izquierda (para eso, use
min
).
- propiedad p1 #
El segundo par de coordenadas ( x , y ) que definen el cuadro delimitador.
No se garantiza que esta sea la esquina superior derecha (para eso, use
max
).
- establecer ( otro ) [fuente] #
Establezca este cuadro delimitador desde los límites "congelados" de otro
Bbox
.
- set_points ( puntos ) [fuente] #
Establezca los puntos del cuadro delimitador directamente desde una matriz numérica de la forma: . No se realiza ninguna comprobación de errores, ya que este método es principalmente para uso interno.
[[x0, y0], [x1, y1]]
- update_from_data_x ( x , ignorar = Ninguno ) [fuente] #
Actualice los límites x del
Bbox
basado en los datos pasados. Después de la actualización, los límites tendrán un ancho positivo y x0 será el valor mínimo.
- update_from_data_xy ( xy , ignore = Ninguno , updatex = True , updatey = True ) [fuente] #
Actualice los límites de
Bbox
basado en los datos pasados. Después de la actualización, los límites tendrán ancho y alto positivos ; x0 e y0 serán los valores mínimos.- Parámetros :
- xy ndarray
Una matriz numpy de puntos 2D.
- ignorar bool, opcional
- updatex, update bool, predeterminado: Verdadero
Cuando
True
, actualice los valores x/y.
- update_from_data_y ( y , ignorar = Ninguno ) [fuente] #
Actualice los límites y de la
Bbox
función en función de los datos pasados. Después de la actualización, los límites tendrán una altura positiva y y0 será el valor mínimo.
- update_from_path ( ruta , ignorar = Ninguno , actualizarx = Verdadero , actualizar = Verdadero ) [fuente] #
Actualice los límites de
Bbox
para que contengan los vértices de la ruta proporcionada. Después de la actualización, los límites tendrán ancho y alto positivos ; x0 e y0 serán los valores mínimos.
- propiedad x0 #
La primera del par de coordenadas x que definen el cuadro delimitador.
No se garantiza que sea menor que
x1
(para eso, usexmin
).
- propiedad x1 #
La segunda del par de coordenadas x que definen el cuadro delimitador.
No se garantiza que sea mayor que
x0
(para eso, usexmax
).
- clase matplotlib.transforms. BboxBase ( nombre_abreviado = Ninguno ) [fuente] #
Bases:
TransformNode
La clase base de todos los cuadros delimitadores.
Esta clase es inmutable;
Bbox
es una subclase mutable.La representación canónica es como dos puntos, sin restricciones en su ordenación. Se proporcionan propiedades de conveniencia para obtener los bordes izquierdo, inferior, derecho y superior, así como el ancho y el alto, pero no se almacenan explícitamente.
- 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.
- __anotaciones__ = {} #
- __módulo__ = 'matplotlib.transforma' #
- anclado ( c , contenedor = Ninguno ) [fuente] #
Devuelve una copia de
Bbox
anclado a c dentro del contenedor .- Parámetros :
- c (flotante, flotante) o {'C', 'SW', 'S', 'SE', 'E', 'NE', ...}
Ya sea un par ( x , y ) de coordenadas relativas (0 es izquierda o inferior, 1 es derecha o superior), 'C' (centro), o una dirección cardinal ('SW', suroeste, es inferior izquierda, etc.) .
- contenedor
Bbox
, opcional El cuadro dentro del cual
Bbox
se coloca; por defecto es el inicialBbox
.
Ver también
- coefs = {'C': (0.5, 0.5), 'E': (1.0, 0.5), 'N': (0.5, 1.0), 'NE': (1.0, 1.0), 'NW': (0, 1.0), 'S': (0.5, 0), 'SE': (1.0, 0), 'SW': (0, 0), 'W': (0, 0.5)} #
- esquinas ( ) [fuente] #
Devuelve las esquinas de este rectángulo como una matriz de puntos.
Específicamente, esto devuelve la matriz .
[[x0, y0], [x0, y1], [x1, y0], [x1, y1]]
- count_contains ( vértices ) [fuente] #
Cuente el número de vértices contenidos en el
Bbox
. Cualquier vértice con un valor x o y no finito se ignora.- Parámetros :
- vértices Nx2 Numpy array.
- count_overlaps ( bboxes ) [fuente] #
Cuente el número de cuadros delimitadores que se superponen a este.
- Parámetros :
- secuencia de bboxes de
BboxBase
- secuencia de bboxes de
- expandido ( sw , sh ) [fuente] #
Construya a
Bbox
expandiendo éste alrededor de su centro por los factores sw y sh .
- congelado ( ) [fuente] #
La clase base para todo lo que participa en el árbol de transformación y necesita invalidar a sus padres o ser invalidado. Esto incluye clases que no son realmente transformaciones, como cuadros delimitadores, ya que algunas transformaciones dependen de cuadros delimitadores para calcular sus valores.
- contiene completamente ( x , y ) [fuente] #
Devuelve si está en el cuadro delimitador, pero no en su borde.
x, y
- full_overlaps ( otro ) [fuente] #
Muestra si este cuadro delimitador se superpone con el otro cuadro delimitador, sin incluir los bordes.
- Parámetros :
- otro
BboxBase
- otro
- altura de la propiedad #
La altura (firmada) del cuadro delimitador.
- intersección estática ( bbox1 , bbox2 ) [fuente] #
Devuelve la intersección de bbox1 y bbox2 si se cruzan, o Ninguno si no lo hacen.
- propiedad intervalox #
El par de coordenadas x que definen el cuadro delimitador.
No se garantiza que esto se ordene de izquierda a derecha.
- propiedad intervalo #
El par de coordenadas y que definen el cuadro delimitador.
No se garantiza que esto se ordene de abajo hacia arriba.
- es_afín = Verdadero #
- is_bbox = Verdadero #
- número máximo de propiedad
La esquina superior derecha del cuadro delimitador.
- número mínimo de propiedad
La esquina inferior izquierda del cuadro delimitador.
- se superpone ( otro ) [fuente] #
Devuelve si este cuadro delimitador se superpone con el otro cuadro delimitador.
- Parámetros :
- otro
BboxBase
- otro
- propiedad p0 #
El primer par de coordenadas ( x , y ) que definen el cuadro delimitador.
No se garantiza que sea la esquina inferior izquierda (para eso, use
min
).
- propiedad p1 #
El segundo par de coordenadas ( x , y ) que definen el cuadro delimitador.
No se garantiza que esta sea la esquina superior derecha (para eso, use
max
).
- rotado ( radianes ) [fuente] #
Devuelve el cuadro delimitador alineado con los ejes que limita el resultado de rotarlo
Bbox
en un ángulo de radianes .
- encogido ( mx , my ) [fuente] #
Devuelve una copia de
Bbox
, reducida por el factor mx en la dirección x y el factor my en la dirección y . La esquina inferior izquierda del cuadro permanece sin cambios. Normalmente , mx y my serán menores que 1, pero esto no se aplica.
- shrunk_to_aspect ( box_aspect , contenedor = Ninguno , fig_aspect = 1.0 ) [fuente] #
Devuelva una copia de
Bbox
, reducida para que sea lo más grande posible mientras tenga la relación de aspecto deseada, box_aspect . Si las coordenadas del cuadro son relativas (es decir, fracciones de un cuadro más grande, como una figura), la relación de aspecto físico de esa figura se especifica con fig_aspect , de modo que box_aspect también se puede dar como una relación de las dimensiones absolutas, no las dimensiones relativas. .
- tamaño de la propiedad #
El ancho y el alto (firmados) del cuadro delimitador.
- splitx ( * argumentos ) [fuente] #
Devuelve una lista de nuevos
Bbox
objetos formados al dividir el original con líneas verticales en posiciones fraccionarias dadas por args .
- splity ( * argumentos ) [fuente] #
Devuelve una lista de nuevos
Bbox
objetos formados al dividir el original con líneas horizontales en posiciones fraccionarias dadas por args .
- transformado ( transformar ) [fuente] #
Construya a
Bbox
transformando estáticamente este por transform .
- ancho de propiedad #
El ancho (con signo) del cuadro delimitador.
- propiedad x0 #
La primera del par de coordenadas x que definen el cuadro delimitador.
- propiedad x1 #
La segunda del par de coordenadas x que definen el cuadro delimitador.
- propiedad xmax #
El borde derecho del cuadro delimitador.
- propiedad xmin #
El borde izquierdo del cuadro delimitador.
- propiedad y0 #
La primera del par de coordenadas y que definen el cuadro delimitador.
- propiedad y1 #
La segunda del par de coordenadas y que definen el cuadro delimitador.
- propiedad ymax #
El borde superior del cuadro delimitador.
- propiedad ymin #
El borde inferior del cuadro delimitador.
- clase matplotlib.transforms. BboxTransform ( boxin , boxout , ** kwargs ) [fuente] #
Bases:
Affine2DBase
BboxTransform
transforma linealmente puntos de unoBbox
a otro.Cree una nueva
BboxTransform
que transforme linealmente los puntos de boxin a boxout .- __anotaciones__ = {} #
- __init__ ( boxin , boxout , ** kwargs ) [fuente] #
Cree una nueva
BboxTransform
que transforme linealmente los puntos de boxin a boxout .
- __módulo__ = 'matplotlib.transforma' #
- es_separable = Verdadero #
Verdadero si esta transformada es separable en las dimensiones x e y.
- clase matplotlib.transforms. BboxTransformFrom ( boxin , ** kwargs ) [fuente] #
Bases:
Affine2DBase
BboxTransformFrom
transforma linealmente los puntos de un dadoBbox
al cuadro delimitador de la unidad.- 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.
- __anotaciones__ = {} #
- __init__ ( boxin , ** kwargs ) [fuente] #
- 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.
- __módulo__ = 'matplotlib.transforma' #
- es_separable = Verdadero #
Verdadero si esta transformada es separable en las dimensiones x e y.
- clase matplotlib.transforms. BboxTransformTo ( boxout , ** kwargs ) [fuente] #
Bases:
Affine2DBase
BboxTransformTo
es una transformación que transforma linealmente los puntos del cuadro delimitador de la unidad a unBbox
.Cree una nueva
BboxTransformTo
que transforme linealmente los puntos del cuadro delimitador de la unidad a boxout .- __anotaciones__ = {} #
- __init__ ( boxout , ** kwargs ) [fuente] #
Cree una nueva
BboxTransformTo
que transforme linealmente los puntos del cuadro delimitador de la unidad a boxout .
- __módulo__ = 'matplotlib.transforma' #
- es_separable = Verdadero #
Verdadero si esta transformada es separable en las dimensiones x e y.
- clase matplotlib.transforms. BboxTransformToMaxOnly ( boxout , ** kwargs ) [fuente] #
Bases:
BboxTransformTo
BboxTransformTo
es una transformación que transforma linealmente los puntos del cuadro delimitador de la unidad en un dadoBbox
con una parte superior izquierda fija de (0, 0).Cree una nueva
BboxTransformTo
que transforme linealmente los puntos del cuadro delimitador de la unidad a boxout .- __anotaciones__ = {} #
- __módulo__ = 'matplotlib.transforma' #
- clase matplotlib.transforms. BlendedAffine2D ( x_transform , y_transform , ** kwargs ) [fuente] #
Bases:
_BlendedMixin
,Affine2DBase
Una transformación "combinada" utiliza una transformación para la dirección x y otra transformación para la dirección y .
Esta versión es una optimización para el caso en que ambas transformaciones secundarias sean de tipo
Affine2DBase
.Cree una nueva transformación "combinada" usando x_transform para transformar el eje x y y_transform para transformar el eje y .
Tanto x_transform como y_transform deben ser transformaciones afines 2D.
Por lo general, no llamará a este constructor directamente, sino que usará la
blended_transform_factory
función en su lugar, que puede determinar automáticamente qué tipo de transformación combinada crear.- __anotaciones__ = {} #
- __init__ ( x_transform , y_transform , ** kwargs ) [fuente] #
Cree una nueva transformación "combinada" usando x_transform para transformar el eje x y y_transform para transformar el eje y .
Tanto x_transform como y_transform deben ser transformaciones afines 2D.
Por lo general, no llamará a este constructor directamente, sino que usará la
blended_transform_factory
función en su lugar, que puede determinar automáticamente qué tipo de transformación combinada crear.
- __módulo__ = 'matplotlib.transforma' #
- es_separable = Verdadero #
Verdadero si esta transformada es separable en las dimensiones x e y.
- clase matplotlib.transforms. BlendedGenericTransform ( x_transform , y_transform , ** kwargs ) [fuente] #
Bases:
_BlendedMixin
,Transform
Una transformación "combinada" utiliza una transformación para la dirección x y otra transformación para la dirección y .
Esta versión "genérica" puede manejar cualquier transformación secundaria dada en las direcciones x e y .
Cree una nueva transformación "combinada" usando x_transform para transformar el eje x y y_transform para transformar el eje y .
Por lo general, no llamará a este constructor directamente, sino que usará la
blended_transform_factory
función en su lugar, que puede determinar automáticamente qué tipo de transformación combinada crear.- __anotaciones__ = {} #
- __init__ ( x_transform , y_transform , ** kwargs ) [fuente] #
Cree una nueva transformación "combinada" usando x_transform para transformar el eje x y y_transform para transformar el eje y .
Por lo general, no llamará a este constructor directamente, sino que usará la
blended_transform_factory
función en su lugar, que puede determinar automáticamente qué tipo de transformación combinada crear.
- __módulo__ = 'matplotlib.transforma' #
- contains_branch ( otro ) [fuente] #
Devuelve si la transformación dada es un subárbol de esta transformación.
Esta rutina utiliza la igualdad de transformación para identificar los subárboles, por lo que en muchas situaciones se utilizará el id del objeto.
Para el caso en que la transformación dada represente la totalidad de esta transformación, devuelve True.
- profundidad de propiedad #
Devuelve el número de transformaciones que se han encadenado para formar esta instancia de Transform.
Nota
Para el caso especial de una transformación compuesta, se devuelve la profundidad máxima de las dos.
- congelado ( ) [fuente] #
Devuelve una copia congelada de este nodo de transformación. La copia congelada no se actualizará cuando cambien sus elementos secundarios. Útil para almacenar un estado previamente conocido de una transformación donde
copy.deepcopy()
podría usarse normalmente.
- propiedad tiene_inverso #
booleano(x) -> booleano
Devuelve True cuando el argumento x es verdadero, False en caso contrario. Los componentes True y False son las únicas dos instancias de la clase bool. La clase bool es una subclase de la clase int y no puede subclasificarse.
- entrada_dims = 2 #
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.
- propiedad es_afín #
booleano(x) -> booleano
Devuelve True cuando el argumento x es verdadero, False en caso contrario. Los componentes True y False son las únicas dos instancias de la clase bool. La clase bool es una subclase de la clase int y no puede subclasificarse.
- es_separable = Verdadero #
Verdadero si esta transformada es separable en las dimensiones x e y.
- salida_dims = 2 #
El número de dimensiones de salida de esta transformación. Debe anularse (con números enteros) en la subclase.
- pass_through = Verdadero #
Si pass_through es True, todos los ancestros siempre serán invalidados, incluso si 'self' ya no es válido.
- transform_non_affine ( puntos ) [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.transforms. CompositeAffine2D ( a , b , ** kwargs ) [fuente] #
Bases:
Affine2DBase
Una transformación compuesta formada aplicando transform a y luego transform b .
Esta versión es una optimización que maneja el caso en el que tanto a como b son afines 2D.
Cree una nueva transformación compuesta que sea el resultado de aplicar a y luego b .
Affine2DBase
Affine2DBase
Por lo general, no llamará a este constructor directamente, sino que lo escribirá , lo que elegirá automáticamente el mejor tipo de instancia de transformación compuesta para crear.
a + b
- __anotaciones__ = {} #
- __init__ ( a , b , ** kwargs ) [fuente] #
Cree una nueva transformación compuesta que sea el resultado de aplicar a y luego b .
Affine2DBase
Affine2DBase
Por lo general, no llamará a este constructor directamente, sino que lo escribirá , lo que elegirá automáticamente el mejor tipo de instancia de transformación compuesta para crear.
a + b
- __módulo__ = 'matplotlib.transforma' #
- profundidad de propiedad #
Devuelve el número de transformaciones que se han encadenado para formar esta instancia de Transform.
Nota
Para el caso especial de una transformación compuesta, se devuelve la profundidad máxima de las dos.
- clase matplotlib.transforms. CompositeGenericTransform ( a , b , ** kwargs ) [fuente] #
Bases:
Transform
Una transformación compuesta formada aplicando transform a y luego transform b .
Esta versión "genérica" puede manejar dos transformaciones arbitrarias cualesquiera.
Cree una nueva transformación compuesta que sea el resultado de aplicar transform a y luego transform b .
Por lo general, no llamará a este constructor directamente, sino que lo escribirá , lo que elegirá automáticamente el mejor tipo de instancia de transformación compuesta para crear.
a + b
- __anotaciones__ = {} #
- __hash__ = Ninguno #
- __init__ ( a , b , ** kwargs ) [fuente] #
Cree una nueva transformación compuesta que sea el resultado de aplicar transform a y luego transform b .
Por lo general, no llamará a este constructor directamente, sino que lo escribirá , lo que elegirá automáticamente el mejor tipo de instancia de transformación compuesta para crear.
a + b
- __módulo__ = 'matplotlib.transforma' #
- profundidad de propiedad #
Devuelve el número de transformaciones que se han encadenado para formar esta instancia de Transform.
Nota
Para el caso especial de una transformación compuesta, se devuelve la profundidad máxima de las dos.
- congelado ( ) [fuente] #
Devuelve una copia congelada de este nodo de transformación. La copia congelada no se actualizará cuando cambien sus elementos secundarios. Útil para almacenar un estado previamente conocido de una transformación donde
copy.deepcopy()
podría usarse normalmente.
- propiedad tiene_inverso #
booleano(x) -> booleano
Devuelve True cuando el argumento x es verdadero, False en caso contrario. Los componentes True y False son las únicas dos instancias de la clase bool. La clase bool es una subclase de la clase int y no puede subclasificarse.
- 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.
- propiedad es_afín #
booleano(x) -> booleano
Devuelve True cuando el argumento x es verdadero, False en caso contrario. Los componentes True y False son las únicas dos instancias de la clase bool. La clase bool es una subclase de la clase int y no puede subclasificarse.
- la propiedad es_separable #
booleano(x) -> booleano
Devuelve True cuando el argumento x es verdadero, False en caso contrario. Los componentes True y False son las únicas dos instancias de la clase bool. La clase bool es una subclase de la clase int y no puede subclasificarse.
- pass_through = Verdadero #
Si pass_through es True, todos los ancestros siempre serán invalidados, incluso si 'self' ya no es válido.
- transform_affine ( puntos ) [fuente] #
Aplique solo la parte afín de esta transformación en la matriz de valores dada.
transform(values)
siempre es equivalente atransform_affine(transform_non_affine(values))
.En transformaciones no afines, esto generalmente no es operativo. En transformaciones afines, esto es equivalente a
transform(values)
.- 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.
- transform_non_affine ( puntos ) [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.transforms. IdentityTransform ( * argumentos , ** kwargs ) [fuente] #
Bases:
Affine2DBase
Una clase especial que hace una cosa, la transformación de identidad, de forma rápida.
- 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.
- __anotaciones__ = {} #
- __módulo__ = 'matplotlib.transforma' #
- congelado ( ) [fuente] #
Devuelve una copia congelada de este nodo de transformación. La copia congelada no se actualizará cuando cambien sus elementos secundarios. Útil para almacenar un estado previamente conocido de una transformación donde
copy.deepcopy()
podría usarse normalmente.
- 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.
- transformar ( puntos ) [fuente] #
Aplique esta transformación en la matriz de valores dada .
- 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.
- transform_affine ( puntos ) [fuente] #
Aplique solo la parte afín de esta transformación en la matriz de valores dada.
transform(values)
siempre es equivalente atransform_affine(transform_non_affine(values))
.En transformaciones no afines, esto generalmente no es operativo. En transformaciones afines, esto es equivalente a
transform(values)
.- 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.
- transform_non_affine ( puntos ) [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.
- transform_path ( ruta ) [fuente] #
Aplique la transformación a la ruta , devolviendo una nueva .
Path
Path
En algunos casos, esta transformación puede insertar curvas en la ruta que comenzó como segmentos de línea.
- clase matplotlib.transforms. LockableBbox ( bbox , x0 = Ninguno , y0 = Ninguno , x1 = Ninguno , y1 = Ninguno , ** kwargs ) [fuente] #
Bases:
BboxBase
A
Bbox
donde algunos elementos pueden estar bloqueados en ciertos valores.Cuando el cuadro delimitador secundario cambia, los límites de este bbox se actualizarán en consecuencia con la excepción de los elementos bloqueados.
- Parámetros :
- bbox
Bbox
El cuadro delimitador secundario para envolver.
- x0 flotante o Ninguno
El valor bloqueado para x0, o Ninguno para dejarlo desbloqueado.
- y0 flotante o Ninguno
El valor bloqueado para y0, o Ninguno para dejarlo desbloqueado.
- x1 flotante o Ninguno
El valor bloqueado para x1, o Ninguno para dejarlo desbloqueado.
- y1 flotante o Ninguno
El valor bloqueado para y1, o Ninguno para dejarlo desbloqueado.
- bbox
- __anotaciones__ = {} #
- __init__ ( bbox , x0 = Ninguno , y0 = Ninguno , x1 = Ninguno , y1 = Ninguno , ** kwargs ) [fuente] #
- Parámetros :
- bbox
Bbox
El cuadro delimitador secundario para envolver.
- x0 flotante o Ninguno
El valor bloqueado para x0, o Ninguno para dejarlo desbloqueado.
- y0 flotante o Ninguno
El valor bloqueado para y0, o Ninguno para dejarlo desbloqueado.
- x1 flotante o Ninguno
El valor bloqueado para x1, o Ninguno para dejarlo desbloqueado.
- y1 flotante o Ninguno
El valor bloqueado para y1, o Ninguno para dejarlo desbloqueado.
- bbox
- __módulo__ = 'matplotlib.transforma' #
- propiedad bloqueada_x0 #
float o None: el valor utilizado para el x0 bloqueado.
- propiedad bloqueada_x1 #
float o None: el valor utilizado para el x1 bloqueado.
- propiedad bloqueada_y0 #
float o None: el valor utilizado para el y0 bloqueado.
- propiedad bloqueada_y1 #
float o None: el valor utilizado para el y1 bloqueado.
- clase matplotlib.transforms. ScaledTranslation ( xt , yt , scale_trans , ** kwargs ) [fuente] #
Bases:
Affine2DBase
Una transformación que se traduce por xt e yt , después de que xt e yt hayan sido transformados por scale_trans .
- 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.
- __anotaciones__ = {} #
- __init__ ( xt , yt , scale_trans , ** kwargs ) [fuente] #
- 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.
- __módulo__ = 'matplotlib.transforma' #
- clase matplotlib.transforms. Transformar ( shorthand_name = Ninguno ) [fuente] #
Bases:
TransformNode
La clase base de todas las
TransformNode
instancias que realmente realizan una transformación.Todas las transformaciones no afines deben ser subclases de esta clase. Las nuevas transformaciones afines deben ser subclases de
Affine2D
.Las subclases de esta clase deben anular los siguientes miembros (como mínimo):
inverted()
(si existe una inversa)
Los siguientes atributos pueden anularse si el valor predeterminado no es adecuado:
is_separable
(el valor predeterminado es Verdadero para transformaciones 1D -> 1D, falso en caso contrario)has_inverse
(el valor predeterminado es Verdadero siinverted()
se anula, Falso de lo contrario)
Si la transformación necesita hacer algo no estándar con los
matplotlib.path.Path
objetos, como agregar curvas donde alguna vez hubo segmentos de línea, debe anularse:- 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.
- __add__ ( otro ) [fuente] #
Componga dos transformaciones juntas para que a self le siga otro .
A + B
devuelve una transformaciónC
para que .C.transform(x) == B.transform(A.transform(x))
- __anotaciones__ = {} #
- __array__ ( * argumentos , ** kwargs ) [fuente] #
Interfaz de matriz para llegar a la matriz afín de este Transform.
- método de clase __init_subclass__ ( ) [ fuente] #
Este método se llama cuando una clase se subclasifica.
La implementación predeterminada no hace nada. Puede anularse para extender subclases.
- __módulo__ = 'matplotlib.transforma' #
- __sub__ ( otro ) [fuente] #
Componer self con el inverso de other , cancelando términos idénticos si los hay:
# In general: A - B == A + B.inverted() # (but see note regarding frozen transforms below). # If A "ends with" B (i.e. A == A' + B for some A') we can cancel # out B: (A' + B) - B == A' # Likewise, if B "starts with" A (B = A + B'), we can cancel out A: A - (A + B') == B'.inverted() == B'^-1
La cancelación (en lugar de devolver ingenuamente ) es importante por varias razones:
A + B.inverted()
Evita imprecisiones de coma flotante al calcular el inverso de B: se garantiza que se cancelará exactamente (lo que resulta en la transformación de identidad), mientras que puede diferir en un pequeño épsilon.
B - B
B + B.inverted()
B.inverted()
siempre devuelve una transformación congelada: si uno calcula y luego muta , entonces no se actualizará y los dos últimos términos ya no se cancelarán; por otro lado, siempre será igual a aunque esté mutado.A + B + B.inverted()
B
B.inverted()
A + B - B
A
B
- contains_branch ( otro ) [fuente] #
Devuelve si la transformación dada es un subárbol de esta transformación.
Esta rutina utiliza la igualdad de transformación para identificar los subárboles, por lo que en muchas situaciones se utilizará el id del objeto.
Para el caso en que la transformación dada represente la totalidad de esta transformación, devuelve True.
- contiene_sucursal_por separado ( otra_transformación ) [fuente] #
Devuelve si la rama dada es un subárbol de esta transformación en cada dimensión separada.
Un uso común de este método es identificar si una transformación es una transformación combinada que contiene una transformación de datos de Axes. p.ej:
x_isdata, y_isdata = trans.contains_branch_seperately(ax.transData)
- profundidad de propiedad #
Devuelve el número de transformaciones que se han encadenado para formar esta instancia de Transform.
Nota
Para el caso especial de una transformación compuesta, se devuelve la profundidad máxima de las dos.
- tiene_inverso = Falso #
Verdadero si esta transformada tiene una transformada inversa correspondiente.
- input_dims = Ninguno #
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 = Falso #
Verdadero si esta transformada es separable en las dimensiones x e y.
- salida_dims = Ninguno #
El número de dimensiones de salida de esta transformación. Debe anularse (con números enteros) en la subclase.
- transformar ( valores ) [fuente] #
Aplique esta transformación en la matriz de valores dada .
- 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.
- transform_affine ( valores ) [fuente] #
Aplique solo la parte afín de esta transformación en la matriz de valores dada.
transform(values)
siempre es equivalente atransform_affine(transform_non_affine(values))
.En transformaciones no afines, esto generalmente no es operativo. En transformaciones afines, esto es equivalente a
transform(values)
.- 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.
- transform_angles ( ángulos , pts , radianes = Falso , pushoff = 1e-05 ) [fuente] #
Transforme un conjunto de ángulos anclados en ubicaciones específicas.
- Parámetros :
- ángulos (N,) en forma de matriz
Los ángulos a transformar.
- pts (N, 2) en forma de matriz
Los puntos donde se anclan los ángulos.
- radianes bool, por defecto: Falso
Si los ángulos son radianes o grados.
- flotador de empuje
Para cada punto en pts y ángulo en angles , el ángulo transformado se calcula transformando un segmento de longitud que comienza en ese punto y haciendo que el ángulo sea relativo al eje horizontal, y midiendo el ángulo entre el eje horizontal y el segmento transformado.
- Devoluciones :
- (N,) matriz
- transform_bbox ( bbox ) [fuente] #
Transforme el cuadro delimitador dado.
Para transformaciones más inteligentes, incluido el almacenamiento en caché (un requisito común en Matplotlib), consulte
TransformedBbox
.
- 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.
- transform_path ( ruta ) [fuente] #
Aplique la transformación a la ruta , devolviendo una nueva .
Path
Path
En algunos casos, esta transformación puede insertar curvas en la ruta que comenzó como segmentos de línea.
- transform_path_affine ( ruta ) [fuente] #
Aplique la parte afín de esta transformación a la ruta , devolviendo una nueva .
Path
Path
transform_path(path)
es equivalente atransform_path_affine(transform_path_non_affine(values))
.
- transform_path_non_affine ( ruta ) [fuente] #
Aplique la parte no afín de esta transformación a path , devolviendo un nuevo .
Path
Path
transform_path(path)
es equivalente atransform_path_affine(transform_path_non_affine(values))
.
- transform_point ( punto ) [fuente] #
Devuelve un punto transformado.
Esta función solo se mantiene por retrocompatibilidad; el método más general
transform
es capaz de transformar tanto una lista de puntos como un solo punto.El punto se da como una secuencia de longitud
input_dims
. El punto transformado se devuelve como una secuencia de longitudoutput_dims
.
- clase matplotlib.transforms. TransformNode ( shorthand_name = Ninguno ) [fuente] #
Bases:
object
La clase base para todo lo que participa en el árbol de transformación y necesita invalidar a sus padres o ser invalidado. Esto incluye clases que no son realmente transformaciones, como cuadros delimitadores, ya que algunas transformaciones dependen de cuadros delimitadores para calcular sus valores.
- 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.
- NO VÁLIDO = 3 #
- INVALID_AFFINE = 2 #
- INVALID_NON_AFFINE = 1 #
- __anotaciones__ = {} #
- __dict__ = mappingproxy({'__module__': 'matplotlib.transforms', '__doc__': '\n La clase base para todo lo que participa en el árbol de transformación \n y necesita invalidar a sus padres o ser invalidado. Esto incluye\n clases que no son realmente transformaciones, como cuadros delimitadores , ya que algunas\n transformaciones dependen de delimitaciones casillas para calcular sus valores.\n ', 'INVALID_NON_AFFINE': 1, 'INVALID_AFFINE': 2, 'INVALID': 3, 'is_affine': False, 'is_bbox': False, 'pass_through': False, '__init__': <función TransformNode.__init__>, '__getstate__': <función TransformNode.__getstate__>, '__setstate__': <función TransformNode.__setstate__>, '__copy__': <función TransformNode.__copy__>, 'invalidate': <función TransformNode.invalidate>, '_invalidate_internal': <función TransformNode._invalidate_internal>, 'set_children': <función TransformNode.set_children>, 'frozen': <función TransformNode.frozen>, '__dict__': <atributo '__dict__' de los objetos 'TransformNode' >, '__weakref__': < atributo '__weakref__' de los objetos 'TransformNode' >, '__annotations__': {}}) #
- __init__ ( nombre_abreviado = Ninguno ) [fuente] #
- 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.
- __módulo__ = 'matplotlib.transforma' #
- __ref__ débil #
lista de referencias débiles al objeto (si está definido)
- congelado ( ) [fuente] #
Devuelve una copia congelada de este nodo de transformación. La copia congelada no se actualizará cuando cambien sus elementos secundarios. Útil para almacenar un estado previamente conocido de una transformación donde
copy.deepcopy()
podría usarse normalmente.
- invalidar ( ) [fuente] #
Invalide esto
TransformNode
y desencadena una invalidación de sus ancestros. Debe llamarse cada vez que cambie la transformación.
- es_afín = Falso #
- is_bbox = Falso #
- pass_through = Falso #
Si pass_through es True, todos los ancestros siempre serán invalidados, incluso si 'self' ya no es válido.
- clase matplotlib.transforms. TransformWrapper ( hijo ) [fuente] #
Bases:
Transform
Una clase auxiliar que contiene una sola transformación secundaria y actúa de manera equivalente a ella.
Esto es útil si un nodo del árbol de transformación debe reemplazarse en tiempo de ejecución con una transformación de un tipo diferente. Esta clase permite que ese reemplazo desencadene correctamente la invalidación.
TransformWrapper
las instancias deben tener las mismas dimensiones de entrada y salida durante toda su vida útil, por lo que la transformación secundaria solo se puede reemplazar con otra transformación secundaria de las mismas dimensiones.niño : Una
Transform
instancia. Este niño puede ser reemplazado más tarde porset()
.- __anotaciones__ = {} #
- __hash__ = Ninguno #
- __init__ ( hijo ) [fuente] #
niño : Una
Transform
instancia. Este niño puede ser reemplazado más tarde porset()
.
- __módulo__ = 'matplotlib.transforma' #
- congelado ( ) [fuente] #
Devuelve una copia congelada de este nodo de transformación. La copia congelada no se actualizará cuando cambien sus elementos secundarios. Útil para almacenar un estado previamente conocido de una transformación donde
copy.deepcopy()
podría usarse normalmente.
- propiedad tiene_inverso #
booleano(x) -> booleano
Devuelve True cuando el argumento x es verdadero, False en caso contrario. Los componentes True y False son las únicas dos instancias de la clase bool. La clase bool es una subclase de la clase int y no puede subclasificarse.
- propiedad es_afín #
booleano(x) -> booleano
Devuelve True cuando el argumento x es verdadero, False en caso contrario. Los componentes True y False son las únicas dos instancias de la clase bool. La clase bool es una subclase de la clase int y no puede subclasificarse.
- la propiedad es_separable #
booleano(x) -> booleano
Devuelve True cuando el argumento x es verdadero, False en caso contrario. Los componentes True y False son las únicas dos instancias de la clase bool. La clase bool es una subclase de la clase int y no puede subclasificarse.
- pass_through = Verdadero #
Si pass_through es True, todos los ancestros siempre serán invalidados, incluso si 'self' ya no es válido.
- clase matplotlib.transforms. TransformedBbox ( bbox , transform , ** kwargs ) [fuente] #
Bases:
BboxBase
que se transforma automáticamente mediante una
Bbox
transformación determinada. Cuando el cuadro delimitador secundario o la transformación cambien, los límites de este bbox se actualizarán en consecuencia.- __anotaciones__ = {} #
- __módulo__ = 'matplotlib.transforma' #
- clase matplotlib.transforms. TransformedPatchPath ( parche ) [fuente] #
Bases:
TransformedPath
A
TransformedPatchPath
almacena en caché una copia transformada no afín del archivoPatch
. Esta copia en caché se actualiza automáticamente cuando cambia la parte no afín de la transformación o el parche.- Parámetros :
- parche
Patch
- parche
- __anotaciones__ = {} #
- __módulo__ = 'matplotlib.transforma' #
- clase matplotlib.transforms. TransformedPath ( ruta , transformación ) [fuente] #
Bases:
TransformNode
A
TransformedPath
almacena en caché una copia transformada no afín del archivoPath
. Esta copia en caché se actualiza automáticamente cuando cambia la parte no afín de la transformación.Nota
Esta clase considera que las rutas son inmutables. Cualquier actualización de los vértices/códigos de la ruta no desencadenará un recálculo de transformación.
- __anotaciones__ = {} #
- __módulo__ = 'matplotlib.transforma' #
- get_fully_transformed_path ( ) [fuente] #
Devuelve una copia completamente transformada de la ruta secundaria.
- get_transformed_path_and_affine ( ) [fuente] #
Devuelva una copia de la ruta secundaria, con la parte no afín de la transformación ya aplicada, junto con la parte afín de la ruta necesaria para completar la transformación.
- get_transformed_points_and_affine ( ) [fuente] #
Devuelva una copia de la ruta secundaria, con la parte no afín de la transformación ya aplicada, junto con la parte afín de la ruta necesaria para completar la transformación. A diferencia
get_transformed_path_and_affine()
de , no se realizará ninguna interpolación.
- matplotlib.transforma. blended_transform_factory ( x_transform , y_transform ) [fuente] #
Cree una nueva transformación "combinada" usando x_transform para transformar el eje x y y_transform para transformar el eje y .
Se devuelve una versión más rápida de la transformación combinada para el caso en que ambas transformaciones secundarias sean afines.
- matplotlib.transforma. composite_transform_factory ( a , b ) [fuente] #
Cree una nueva transformación compuesta que sea el resultado de aplicar la transformación a y luego la transformación b.
Se proporcionan versiones abreviadas de la transformación combinada para el caso en que ambas transformaciones secundarias sean afines, o una u otra sea la transformación de identidad.
Las transformaciones compuestas también se pueden crear usando el operador '+', por ejemplo:
c = a + b
- matplotlib.transforma. interval_contains ( intervalo , val ) [fuente] #
Comprueba, inclusive, si un intervalo incluye un valor dado.
- Parámetros :
- intervalo (flotante, flotante)
Los extremos del intervalo.
- valor flotante
El valor a verificar está dentro del intervalo.
- Devoluciones :
- bool
Si val está dentro del intervalo .
- matplotlib.transforma. intervalo_contiene_abierto ( intervalo , valor ) [fuente] #
Comprobar, excluyendo puntos finales, si un intervalo incluye un valor dado.
- Parámetros :
- intervalo (flotante, flotante)
Los extremos del intervalo.
- valor flotante
El valor a verificar está dentro del intervalo.
- Devoluciones :
- bool
Si val está dentro del intervalo .
- matplotlib.transforma. no singular ( vmin , vmax , expansor = 0.001 , diminuto = 1e-15 , creciente = Verdadero ) [fuente] #
Modifique los extremos de un rango según sea necesario para evitar singularidades.
- Parámetros :
- flotante vmin, vmax
Los puntos finales iniciales.
- Flotación del expansor , por defecto: 0.001
Cantidad fraccionaria por la que se expanden vmin y vmax si el intervalo original es demasiado pequeño, basado en tiny .
- pequeño flotador, predeterminado: 1e-15
Umbral de la relación entre el intervalo y el valor absoluto máximo de sus extremos. Si el intervalo es más pequeño que esto, se expandirá. Este valor debe estar alrededor de 1e-15 o mayor; de lo contrario, el intervalo se acercará al límite de resolución de doble precisión.
- Bool creciente , por defecto: True
Si es verdadero, intercambie vmin , vmax si vmin > vmax .
- Devoluciones :
- flotante vmin, vmax
Puntos finales, ampliados y/o intercambiados si es necesario. Si cualquiera de las entradas es inf o NaN, o si ambas entradas son 0 o muy cercanas a cero, devuelve - expander , expander .
- matplotlib.transforma. offset_copy ( trans , fig = Ninguno , x = 0.0 , y = 0.0 , unidades = 'pulgadas' ) [fuente] #
Devuelve una nueva transformación con un desplazamiento agregado.
- Parámetros :
- subclase trans
Transform
Cualquier transformación, a la que se aplicará el desplazamiento.
- higo
Figure
, por defecto: Ninguno figura actual. Puede ser Ninguno si las unidades son 'puntos'.
- x, y flotante, por defecto: 0.0
El desplazamiento a aplicar.
- unidades {'pulgadas', 'puntos', 'puntos'}, por defecto: 'pulgadas'
Unidades del desplazamiento.
- subclase trans
- Devoluciones :
Transform
subclaseTransformar con desplazamiento aplicado.