matplotlib.transforms
#
Matplotlib include un framework per trasformazioni geometriche arbitrarie che viene utilizzato per determinare la posizione finale di tutti gli elementi disegnati sulla tela.
Le trasformazioni sono composte in alberi di TransformNode
oggetti il cui valore effettivo dipende dai loro figli. Quando i contenuti dei bambini cambiano, i loro genitori vengono automaticamente invalidati. La volta successiva che si accede a una trasformazione invalidata, questa viene ricalcolata per riflettere tali modifiche. Questo approccio di invalidazione/memorizzazione nella cache impedisce ricalcoli non necessari delle trasformazioni e contribuisce a migliorare le prestazioni interattive.
Ad esempio, ecco un grafico dell'albero di trasformazione utilizzato per tracciare i dati nel grafico:
Il framework può essere utilizzato sia per trasformazioni affini che non affini. Tuttavia, per velocità, vogliamo utilizzare i renderer back-end per eseguire trasformazioni affini quando possibile. Pertanto, è possibile eseguire solo la parte affine o non affine di una trasformazione su un insieme di dati. Si presume sempre che l'affine si verifichi dopo il non affine. Per qualsiasi trasformazione:
full transform == non-affine part + affine part
Non è previsto che i backend gestiscano da soli le trasformazioni non affini.
Vedere il tutorial Transformations Tutorial per esempi su come utilizzare le trasformazioni.
- classe matplotlib.transforms. Affine2D ( matrice = Nessuno , ** kwargs ) [fonte] #
Basi:
Affine2DBase
Una trasformazione affine 2D mutevole.
Inizializza una trasformazione affine da un array float numpy 3x3:
a c e b d f 0 0 1
Se matrix è None, inizializza con la trasformazione dell'identità.
- __init__ ( matrice = Nessuno , ** kwargs ) [fonte] #
Inizializza una trasformazione affine da un array float numpy 3x3:
a c e b d f 0 0 1
Se matrix è None, inizializza con la trasformazione dell'identità.
- __module__ = 'matplotlib.transforms' #
- static from_values ( a , b , c , d , e , f ) [fonte] #
Crea una nuova istanza Affine2D dai valori indicati:
a c e b d f 0 0 1
.
- get_matrix ( ) [fonte] #
Ottieni la matrice di trasformazione sottostante come un array numpy 3x3:
a c e b d f 0 0 1
.
- identità statica ( ) [fonte] #
[ Deprecato ] Restituisce un nuovo
Affine2D
oggetto che è la trasformazione dell'identità.A meno che questa trasformazione non venga modificata in seguito, prendi in considerazione l'utilizzo della
IdentityTransform
classe più veloce.Appunti
Deprecato dalla versione 3.6: utilizzare invece Affine2D().
- ruotare ( theta ) [fonte] #
Aggiungi una rotazione (in radianti) a questa trasformazione sul posto.
Restituisce self , quindi questo metodo può essere facilmente concatenato con più chiamate a
rotate()
,rotate_deg()
e .translate()
scale()
- ruota_intorno ( x , y , theta ) [fonte] #
Aggiungi una rotazione (in radianti) attorno al punto (x, y) in posizione.
Restituisce self , quindi questo metodo può essere facilmente concatenato con più chiamate a
rotate()
,rotate_deg()
e .translate()
scale()
- ruotare_gradi ( gradi ) [fonte] #
Aggiungi una rotazione (in gradi) a questa trasformazione sul posto.
Restituisce self , quindi questo metodo può essere facilmente concatenato con più chiamate a
rotate()
,rotate_deg()
e .translate()
scale()
- ruotare_gradi_intorno ( x , y , gradi ) [fonte] #
Aggiungi una rotazione (in gradi) attorno al punto (x, y) in posizione.
Restituisce self , quindi questo metodo può essere facilmente concatenato con più chiamate a
rotate()
,rotate_deg()
e .translate()
scale()
- scala ( sx , sy = Nessuno ) [fonte] #
Aggiungi una scala in posizione.
Se sy è None, la stessa scala viene applicata in entrambe le direzioni x e y .
Restituisce self , quindi questo metodo può essere facilmente concatenato con più chiamate a
rotate()
,rotate_deg()
e .translate()
scale()
- set ( altro ) [fonte] #
Imposta questa trasformazione dalla copia congelata di un altro
Affine2DBase
oggetto.
- set_matrice ( mtx ) [fonte] #
Imposta la matrice di trasformazione sottostante da un array numpy 3x3:
a c e b d f 0 0 1
.
- skew ( xShear , yShear ) [fonte] #
Aggiungi un'inclinazione sul posto.
xShear e yShear sono gli angoli di taglio lungo gli assi x e y , rispettivamente, in radianti.
Restituisce self , quindi questo metodo può essere facilmente concatenato con più chiamate a
rotate()
,rotate_deg()
e .translate()
scale()
- skew_deg ( xShear , yShear ) [fonte] #
Aggiungi un'inclinazione sul posto.
xShear e yShear sono gli angoli di taglio lungo gli assi x e y , rispettivamente, in gradi.
Restituisce self , quindi questo metodo può essere facilmente concatenato con più chiamate a
rotate()
,rotate_deg()
e .translate()
scale()
- traduci ( tx , ty ) [fonte] #
Aggiungi una traduzione sul posto.
Restituisce self , quindi questo metodo può essere facilmente concatenato con più chiamate a
rotate()
,rotate_deg()
e .translate()
scale()
- classe matplotlib.transforms. Affine2DBase ( * args , ** kwargs ) [fonte] #
Basi:
AffineBase
La classe base di tutte le trasformazioni affini 2D.
Le trasformazioni affini 2D vengono eseguite utilizzando un array numpy 3x3:
a c e b d f 0 0 1
Questa classe fornisce l'interfaccia di sola lettura. Per una trasformazione affine 2D mutabile, utilizzare
Affine2D
.Le sottoclassi di questa classe generalmente devono solo eseguire l'override di un costruttore e
get_matrix()
questo genera una matrice 3x3 personalizzata.- Parametri :
- nome_abbreviato str
Una stringa che rappresenta il "nome" della trasformazione. Il nome non ha altro significato se non quello di migliorare la leggibilità di
str(transform)
quando DEBUG=True.
- __annotazioni__ = {} #
- __module__ = 'matplotlib.transforms' #
- congelato ( ) [fonte] #
Restituisce una copia bloccata di questo nodo di trasformazione. La copia bloccata non verrà aggiornata quando i suoi figli cambiano. Utile per archiviare uno stato precedentemente noto di una trasformazione in cui
copy.deepcopy()
potrebbe essere normalmente utilizzato.
- has_inverse = Vero #
Vero se questa trasformazione ha una trasformazione inversa corrispondente.
- input_dim = 2 #
Il numero di dimensioni di input di questa trasformazione. Deve essere sovrascritto (con numeri interi) nella sottoclasse.
- invertito ( ) [fonte] #
Restituisce la trasformazione inversa corrispondente.
Tiene .
x == self.inverted().transform(self.transform(x))
Il valore restituito da questo metodo deve essere trattato come temporaneo. Un aggiornamento a sé non causa un corrispondente aggiornamento alla sua copia invertita.
- la proprietà è_separabile #
bool(x) -> bool
Restituisce True quando l'argomento x è vero, False in caso contrario. I builtin True e False sono le uniche due istanze della classe bool. La classe bool è una sottoclasse della classe int e non può essere sottoclasse.
- output_dim = 2 #
Il numero di dimensioni di output di questa trasformazione. Deve essere sovrascritto (con numeri interi) nella sottoclasse.
- transform_affine ( punti ) [fonte] #
Applicare solo la parte affine di questa trasformazione sull'array di valori dato.
transform(values)
è sempre equivalente atransform_affine(transform_non_affine(values))
.Nelle trasformazioni non affini, questo è generalmente un no-op. Nelle trasformazioni affini, questo è equivalente a
transform(values)
.- Parametri :
- matrice di valori
I valori di input come matrice NumPy di lunghezza
input_dims
o forma (N xinput_dims
).
- Resi :
- Vettore
I valori di output come matrice NumPy di lunghezza
output_dims
o forma (N xoutput_dims
), a seconda dell'input.
- classe matplotlib.transforms. AffineBase ( * args , ** kwargs ) [fonte] #
Basi:
Transform
La classe base di tutte le trasformazioni affini di qualsiasi numero di dimensioni.
- Parametri :
- nome_abbreviato str
Una stringa che rappresenta il "nome" della trasformazione. Il nome non ha altro significato se non quello di migliorare la leggibilità di
str(transform)
quando DEBUG=True.
- __annotazioni__ = {} #
- __array__ ( * args , ** kwargs ) [fonte] #
Interfaccia array per ottenere la matrice affine di Transform.
- __cancelletto__ = Nessuno #
- __init__ ( * args , ** kwargs ) [fonte] #
- Parametri :
- nome_abbreviato str
Una stringa che rappresenta il "nome" della trasformazione. Il nome non ha altro significato se non quello di migliorare la leggibilità di
str(transform)
quando DEBUG=True.
- __module__ = 'matplotlib.transforms' #
- is_affine = Vero #
- trasformare ( valori ) [fonte] #
Applicare questa trasformazione sull'array di valori dato .
- Parametri :
- matrice di valori
I valori di input come matrice NumPy di lunghezza
input_dims
o forma (N xinput_dims
).
- Resi :
- Vettore
I valori di output come matrice NumPy di lunghezza
output_dims
o forma (N xoutput_dims
), a seconda dell'input.
- transform_affine ( valori ) [fonte] #
Applicare solo la parte affine di questa trasformazione sull'array di valori dato.
transform(values)
è sempre equivalente atransform_affine(transform_non_affine(values))
.Nelle trasformazioni non affini, questo è generalmente un no-op. Nelle trasformazioni affini, questo è equivalente a
transform(values)
.- Parametri :
- matrice di valori
I valori di input come matrice NumPy di lunghezza
input_dims
o forma (N xinput_dims
).
- Resi :
- Vettore
I valori di output come matrice NumPy di lunghezza
output_dims
o forma (N xoutput_dims
), a seconda dell'input.
- transform_non_affine ( punti ) [fonte] #
Applica solo la parte non affine di questa trasformazione.
transform(values)
è sempre equivalente atransform_affine(transform_non_affine(values))
.Nelle trasformazioni non affini, questo è generalmente equivalente a
transform(values)
. Nelle trasformazioni affini, questo è sempre un no-op.- Parametri :
- matrice di valori
I valori di input come matrice NumPy di lunghezza
input_dims
o forma (N xinput_dims
).
- Resi :
- Vettore
I valori di output come matrice NumPy di lunghezza
output_dims
o forma (N xoutput_dims
), a seconda dell'input.
- transform_path ( percorso ) [fonte] #
Applica la trasformazione a path , restituendo un nuovo file .
Path
Path
In alcuni casi, questa trasformazione può inserire curve nel percorso iniziato come segmenti di linea.
- classe matplotlib.transforms. AffineDeltaTransform ( trasformazione , ** kwargs ) [fonte] #
Basi:
Affine2DBase
Un wrapper di trasformazione per trasformare gli spostamenti tra coppie di punti.
Questa classe è pensata per essere usata per trasformare gli spostamenti ("delta di posizione") tra coppie di punti (ad esempio, come la
offset_transform
diCollection
s): data una trasformazionet
tale che , soddisfa .t = AffineDeltaTransform(t) + offset
AffineDeltaTransform
AffineDeltaTransform(a - b) == AffineDeltaTransform(a) - AffineDeltaTransform(b)
Questo viene implementato forzando a zero i componenti di offset della matrice di trasformazione.
Questa classe è sperimentale a partire dalla versione 3.3 e l'API potrebbe cambiare.
- Parametri :
- nome_abbreviato str
Una stringa che rappresenta il "nome" della trasformazione. Il nome non ha altro significato se non quello di migliorare la leggibilità di
str(transform)
quando DEBUG=True.
- __annotazioni__ = {} #
- __init__ ( trasformazione , ** kwargs ) [fonte] #
- Parametri :
- nome_abbreviato str
Una stringa che rappresenta il "nome" della trasformazione. Il nome non ha altro significato se non quello di migliorare la leggibilità di
str(transform)
quando DEBUG=True.
- __module__ = 'matplotlib.transforms' #
- classe matplotlib.transforms. Bbox ( punti , ** kwargs ) [fonte] #
Basi:
BboxBase
Un riquadro di delimitazione mutevole.
Esempi
Crea da limiti noti
Il costruttore predefinito prende il confine "points" .
[[xmin, ymin], [xmax, ymax]]
>>> Bbox([[1, 1], [3, 7]]) Bbox([[1.0, 1.0], [3.0, 7.0]])
In alternativa, è possibile creare una Bbox dall'array di punti appiattiti, i cosiddetti "extents"
(xmin, ymin, xmax, ymax)
>>> Bbox.from_extents(1, 1, 3, 7) Bbox([[1.0, 1.0], [3.0, 7.0]])
o dai "confini" .
(xmin, ymin, width, height)
>>> Bbox.from_bounds(1, 1, 2, 6) Bbox([[1.0, 1.0], [3.0, 7.0]])
Crea da raccolte di punti
L'oggetto "vuoto" per accumulare Bbox è il null bbox, che è un sostituto dell'insieme vuoto.
>>> Bbox.null() Bbox([[inf, inf], [-inf, -inf]])
L'aggiunta di punti alla bbox nulla ti darà la bbox di quei punti.
>>> 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]])
L'impostazione
ignore=True
equivale a ricominciare da capo da una bbox nulla.>>> box.update_from_data_xy([[1, 1]], ignore=True) >>> box Bbox([[1.0, 1.0], [1.0, 1.0]])
Avvertimento
Si consiglia di specificare sempre in
ignore
modo esplicito. In caso contrario, il valore predefinito diignore
può essere modificato in qualsiasi momento tramite codice con accesso alla propria Bbox, ad esempio utilizzando il metodoignore
.Proprietà della bbox ``null``
Nota
Il comportamento attuale di
Bbox.null()
può essere sorprendente in quanto non possiede tutte le proprietà dell'"insieme vuoto", e come tale non si comporta come un oggetto "zero" in senso matematico. Potremmo cambiarlo in futuro (con un periodo di deprecazione).La null bbox è l'identità per le intersezioni
>>> Bbox.intersection(Bbox([[1, 1], [3, 7]]), Bbox.null()) Bbox([[1.0, 1.0], [3.0, 7.0]])
tranne che con se stesso, dove restituisce lo spazio pieno.
>>> Bbox.intersection(Bbox.null(), Bbox.null()) Bbox([[-inf, -inf], [inf, inf]])
Un'unione contenente null restituirà sempre lo spazio completo (non l'altro set!)
>>> Bbox.union([Bbox([[0, 0], [0, 0]]), Bbox.null()]) Bbox([[-inf, -inf], [inf, inf]])
- Parametri :
- punti narray
Una matrice numpy 2x2 del modulo .
[[x0, y0], [x1, y1]]
- __annotazioni__ = {} #
- __init__ ( punti , ** kwargs ) [fonte] #
- Parametri :
- punti narray
Una matrice numpy 2x2 del modulo .
[[x0, y0], [x1, y1]]
- __module__ = 'matplotlib.transforms' #
- static from_bounds ( x0 , y0 , width , height ) [fonte] #
Crea un nuovo
Bbox
da x0 , y0 , larghezza e altezza .la larghezza e l' altezza possono essere negative.
- static from_extents ( * args , minpos = None ) [fonte] #
Crea una nuova Bbox da sinistra , in basso , a destra e in alto .
L' asse y aumenta verso l'alto.
- Parametri :
- float a sinistra, in basso, a destra, in alto
Le quattro estensioni del riquadro di delimitazione.
- minpos float o Nessuno
Se questo viene fornito, la Bbox avrà impostato un valore minimo positivo. Ciò è utile quando si ha a che fare con scale logaritmiche e altre scale in cui i limiti negativi provocano errori in virgola mobile.
- congelato ( ) [fonte] #
La classe base per tutto ciò che partecipa all'albero di trasformazione e deve invalidare i suoi genitori o essere invalidato. Ciò include le classi che non sono realmente trasformazioni, come i riquadri di delimitazione, poiché alcune trasformazioni dipendono dai riquadri di delimitazione per calcolare i loro valori.
- get_points ( ) [fonte] #
Ottieni i punti del riquadro di delimitazione direttamente come un array numpy del modulo: .
[[x0, y0], [x1, y1]]
- ignora ( valore ) [fonte] #
Imposta se i limiti esistenti del riquadro devono essere ignorati dalle successive chiamate a
update_from_data_xy()
.- valore bool
When
True
, le chiamate successive aupdate_from_data_xy()
ignoreranno i limiti esistenti diBbox
.When
False
, le chiamate successive aupdate_from_data_xy()
includeranno i limiti esistenti diBbox
.
- proprietà intervallox #
La coppia di coordinate x che definiscono il riquadro di delimitazione.
Non è garantito che venga ordinato da sinistra a destra.
- intervallo di proprietà #
La coppia di coordinate y che definiscono il riquadro di delimitazione.
Non è garantito che venga ordinato dal basso verso l'alto.
- proprietà minpos #
Il minimo valore positivo in entrambe le direzioni all'interno della Bbox.
Ciò è utile quando si ha a che fare con scale logaritmiche e altre scale in cui i limiti negativi provocano errori in virgola mobile e verranno utilizzati come estensione minima invece di p0 .
- proprietà minposx #
Il minimo valore positivo nella direzione x all'interno della Bbox.
Ciò è utile quando si ha a che fare con scale logaritmiche e altre scale in cui i limiti negativi provocano errori in virgola mobile e verranno utilizzati come x -extent minimo invece di x0 .
- proprietà minposy #
Il minimo valore positivo nella direzione y all'interno della Bbox.
Ciò è utile quando si ha a che fare con scale logaritmiche e altre scale in cui i limiti negativi provocano errori in virgola mobile e verranno utilizzati come estensione y minima invece di y0 .
- proprietà p0 #
La prima coppia di coordinate ( x , y ) che definiscono il riquadro di delimitazione.
Non è garantito che questo sia l'angolo in basso a sinistra (per questo, usa
min
).
- proprietà p1 #
La seconda coppia di coordinate ( x , y ) che definiscono il riquadro di delimitazione.
Non è garantito che questo sia l'angolo in alto a destra (per questo, usa
max
).
- set ( altro ) [fonte] #
Imposta questo riquadro di delimitazione dai limiti "congelati" di un altro file
Bbox
.
- set_points ( punti ) [fonte] #
Imposta i punti del riquadro di delimitazione direttamente da un array numpy del modulo: . Non viene eseguito alcun controllo degli errori, poiché questo metodo è principalmente per uso interno.
[[x0, y0], [x1, y1]]
- update_from_data_x ( x , ignore = None ) [fonte] #
Aggiorna i limiti x di
Bbox
in base ai dati trasmessi. Dopo l'aggiornamento, i limiti avranno una larghezza positiva e x0 sarà il valore minimo.
- update_from_data_xy ( xy , ignore = None , updatex = True , updatey = True ) [fonte] #
Aggiorna i limiti di
Bbox
in base ai dati trasmessi. Dopo l'aggiornamento, i limiti avranno larghezza e altezza positive ; x0 e y0 saranno i valori minimi.
- update_from_data_y ( y , ignore = None ) [fonte] #
Aggiorna i limiti y di
Bbox
in base ai dati trasmessi. Dopo l'aggiornamento, i limiti avranno un'altezza positiva e y0 sarà il valore minimo.
- update_from_path ( percorso , ignore = None , updatex = True , updatey = True ) [fonte] #
Aggiorna i limiti di
Bbox
per contenere i vertici del percorso fornito. Dopo l'aggiornamento, i limiti avranno larghezza e altezza positive ; x0 e y0 saranno i valori minimi.
- proprietà x0 #
La prima della coppia di coordinate x che definiscono il riquadro di delimitazione.
Non è garantito che sia inferiore a
x1
(per questo, usaxmin
).
- proprietà x1 #
La seconda della coppia di coordinate x che definiscono il riquadro di delimitazione.
Non è garantito che sia maggiore di
x0
(per questo, usaxmax
).
- classe matplotlib.transforms. BboxBase ( shorthand_name = None ) [fonte] #
Basi:
TransformNode
La classe base di tutti i riquadri di delimitazione.
Questa classe è immutabile;
Bbox
è una sottoclasse mutabile.La rappresentazione canonica è come due punti, senza restrizioni sul loro ordinamento. Vengono fornite proprietà utili per ottenere i bordi sinistro, inferiore, destro e superiore e la larghezza e l'altezza, ma queste non vengono memorizzate in modo esplicito.
- Parametri :
- nome_abbreviato str
Una stringa che rappresenta il "nome" della trasformazione. Il nome non ha altro significato se non quello di migliorare la leggibilità di
str(transform)
quando DEBUG=True.
- __annotazioni__ = {} #
- __module__ = 'matplotlib.transforms' #
- ancorato ( c , contenitore = None ) [fonte] #
Restituisce una copia
Bbox
dell'ancorato a c all'interno di container .- Parametri :
- c (float, float) o {'C', 'SW', 'S', 'SE', 'E', 'NE', ...}
Una ( x , y ) coppia di coordinate relative (0 è sinistra o in basso, 1 è destra o in alto), 'C' (centro) o una direzione cardinale ('SW', sud-ovest, è in basso a sinistra, ecc.) .
- contenitore
Bbox
, facoltativo La casella all'interno della quale
Bbox
è posizionato; il valore predefinito è l'inizialeBbox
.
Guarda anche
- 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)} #
- contiene ( x , y ) [fonte] #
Restituisce se si trova nel riquadro di delimitazione o sul suo bordo.
(x, y)
- angoli ( ) [fonte] #
Restituisci gli angoli di questo rettangolo come una matrice di punti.
Nello specifico, questo restituisce l'array .
[[x0, y0], [x0, y1], [x1, y0], [x1, y1]]
- count_contains ( vertici ) [fonte] #
Contare il numero di vertici contenuti nel file
Bbox
. Tutti i vertici con un valore x o y non finito vengono ignorati.- Parametri :
- vertici Nx2 Numpy array.
- count_overlaps ( bboxes ) [fonte] #
Conta il numero di riquadri di delimitazione che si sovrappongono a questo.
- Parametri :
- bbox sequenza di
BboxBase
- bbox sequenza di
- espanso ( sw , sh ) [fonte] #
Costruisci a
Bbox
espandendo quest'ultimo intorno al suo centro per i fattori sw e sh .
- congelato ( ) [fonte] #
La classe base per tutto ciò che partecipa all'albero di trasformazione e deve invalidare i suoi genitori o essere invalidato. Ciò include le classi che non sono realmente trasformazioni, come i riquadri di delimitazione, poiché alcune trasformazioni dipendono dai riquadri di delimitazione per calcolare i loro valori.
- fully_contains ( x , y ) [fonte] #
Restituisce se si trova nel riquadro di delimitazione, ma non sul suo bordo.
x, y
- fully_overlaps ( altro ) [fonte] #
Restituisce se questo riquadro di delimitazione si sovrappone all'altro riquadro di delimitazione, esclusi i bordi.
- Parametri :
- Altro
BboxBase
- Altro
- altezza proprietà #
L'altezza (con segno) del riquadro di delimitazione.
- intersezione statica ( bbox1 , bbox2 ) [fonte] #
Restituisce l'intersezione di bbox1 e bbox2 se si intersecano o None se non lo fanno.
- proprietà intervallox #
La coppia di coordinate x che definiscono il riquadro di delimitazione.
Non è garantito che venga ordinato da sinistra a destra.
- intervallo di proprietà #
La coppia di coordinate y che definiscono il riquadro di delimitazione.
Non è garantito che venga ordinato dal basso verso l'alto.
- is_affine = Vero #
- is_bbox = Vero #
- numero massimo di proprietà
L'angolo in alto a destra del riquadro di delimitazione.
- proprietà min #
L'angolo in basso a sinistra del riquadro di delimitazione.
- sovrapposizioni ( altro ) [fonte] #
Restituisce se questo riquadro di delimitazione si sovrappone all'altro riquadro di delimitazione.
- Parametri :
- Altro
BboxBase
- Altro
- proprietà p0 #
La prima coppia di coordinate ( x , y ) che definiscono il riquadro di delimitazione.
Non è garantito che questo sia l'angolo in basso a sinistra (per questo, usa
min
).
- proprietà p1 #
La seconda coppia di coordinate ( x , y ) che definiscono il riquadro di delimitazione.
Non è garantito che questo sia l'angolo in alto a destra (per questo, usa
max
).
- ruotato ( radianti ) [fonte] #
Restituisce il riquadro di delimitazione allineato agli assi che delimita il risultato della rotazione
Bbox
di un angolo di radianti .
- ridotto ( mx , my ) [fonte] #
Restituisce una copia di
Bbox
, ridotta del fattore mx nella direzione x e del fattore my nella direzione y . L'angolo in basso a sinistra della scatola rimane invariato. Normalmente mx e my saranno inferiori a 1, ma questo non viene applicato.
- ristretto_a_aspetto ( box_aspect , contenitore = None , fig_aspect = 1.0 ) [fonte] #
Restituisce una copia di
Bbox
, rimpicciolita in modo che sia il più grande possibile pur avendo le proporzioni desiderate, box_aspect . Se le coordinate della scatola sono relative (cioè frazioni di una scatola più grande come una figura), allora le proporzioni fisiche di quella figura sono specificate con fig_aspect , in modo che box_aspect possa anche essere dato come rapporto delle dimensioni assolute, non delle dimensioni relative .
- dimensione della proprietà #
La larghezza e l'altezza (con segno) del riquadro di delimitazione.
- splitx ( * args ) [fonte] #
Restituisce un elenco di nuovi
Bbox
oggetti formati dividendo quello originale con linee verticali in posizioni frazionarie date da args .
- splity ( * args ) [fonte] #
Restituisce un elenco di nuovi
Bbox
oggetti formati dividendo quello originale con linee orizzontali in posizioni frazionarie date da args .
- trasformato ( trasformare ) [fonte] #
Costruisci a
Bbox
trasformando staticamente questo con transform .
- larghezza proprietà #
La larghezza (con segno) del riquadro di delimitazione.
- proprietà x0 #
La prima della coppia di coordinate x che definiscono il riquadro di delimitazione.
Non è garantito che sia inferiore a
x1
(per questo, usaxmin
).
- proprietà x1 #
La seconda della coppia di coordinate x che definiscono il riquadro di delimitazione.
Non è garantito che sia maggiore di
x0
(per questo, usaxmax
).
- proprietà xmax #
Il bordo destro del riquadro di delimitazione.
- proprietà xmin #
Il bordo sinistro del riquadro di delimitazione.
- proprietà y0 #
La prima della coppia di coordinate y che definiscono il riquadro di delimitazione.
Non è garantito che sia inferiore a
y1
(per questo, usaymin
).
- proprietà y1 #
La seconda della coppia di coordinate y che definiscono il riquadro di delimitazione.
Non è garantito che sia maggiore di
y0
(per questo, usaymax
).
- proprietà ymax #
Il bordo superiore del riquadro di delimitazione.
- proprietà ymin #
Il bordo inferiore del riquadro di delimitazione.
- classe matplotlib.transforms. BboxTransform ( boxin , boxout , ** kwargs ) [fonte] #
Basi:
Affine2DBase
BboxTransform
trasforma linearmente i punti da unoBbox
all'altro.Crea un nuovo
BboxTransform
che trasforma linearmente i punti da boxin a boxout .- __annotazioni__ = {} #
- __init__ ( boxin , boxout , ** kwargs ) [fonte] #
Crea un nuovo
BboxTransform
che trasforma linearmente i punti da boxin a boxout .
- __module__ = 'matplotlib.transforms' #
- è_separabile = Vero #
Vero se questa trasformazione è separabile nelle dimensioni x e y.
- classe matplotlib.transforms. BboxTransformFrom ( boxin , ** kwargs ) [fonte] #
Basi:
Affine2DBase
BboxTransformFrom
trasforma linearmente i punti da un datoBbox
al riquadro di delimitazione dell'unità.- Parametri :
- nome_abbreviato str
Una stringa che rappresenta il "nome" della trasformazione. Il nome non ha altro significato se non quello di migliorare la leggibilità di
str(transform)
quando DEBUG=True.
- __annotazioni__ = {} #
- __init__ ( boxin , ** kwargs ) [fonte] #
- Parametri :
- nome_abbreviato str
Una stringa che rappresenta il "nome" della trasformazione. Il nome non ha altro significato se non quello di migliorare la leggibilità di
str(transform)
quando DEBUG=True.
- __module__ = 'matplotlib.transforms' #
- è_separabile = Vero #
Vero se questa trasformazione è separabile nelle dimensioni x e y.
- classe matplotlib.transforms. BboxTransformTo ( boxout , ** kwargs ) [fonte] #
Basi:
Affine2DBase
BboxTransformTo
è una trasformazione che trasforma linearmente i punti dal riquadro di delimitazione dell'unità a un datoBbox
.Crea un nuovo elemento
BboxTransformTo
che trasforma linearmente i punti dal riquadro di delimitazione dell'unità al boxout .- __annotazioni__ = {} #
- __init__ ( boxout , ** kwargs ) [fonte] #
Crea un nuovo elemento
BboxTransformTo
che trasforma linearmente i punti dal riquadro di delimitazione dell'unità al boxout .
- __module__ = 'matplotlib.transforms' #
- è_separabile = Vero #
Vero se questa trasformazione è separabile nelle dimensioni x e y.
- classe matplotlib.transforms. BboxTransformToMaxOnly ( boxout , ** kwargs ) [fonte] #
Basi:
BboxTransformTo
BboxTransformTo
è una trasformazione che trasforma linearmente i punti dal riquadro di delimitazione dell'unità a un datoBbox
con una parte superiore sinistra fissa di (0, 0).Crea un nuovo elemento
BboxTransformTo
che trasforma linearmente i punti dal riquadro di delimitazione dell'unità al boxout .- __annotazioni__ = {} #
- __module__ = 'matplotlib.transforms' #
- classe matplotlib.transforms. BlendedAffine2D ( x_transform , y_transform , ** kwargs ) [fonte] #
Basi:
_BlendedMixin
,Affine2DBase
Una trasformazione "blended" utilizza una trasformazione per la direzione x e un'altra trasformazione per la direzione y .
Questa versione è un'ottimizzazione per il caso in cui entrambe le trasformazioni figlio sono di tipo
Affine2DBase
.Crea una nuova trasformazione "blended" utilizzando x_transform per trasformare l' asse x e y_transform per trasformare l' asse y .
Sia x_transform che y_transform devono essere trasformate affini 2D.
Generalmente non chiamerai questo costruttore direttamente, ma utilizzerai
blended_transform_factory
invece la funzione, che può determinare automaticamente quale tipo di trasformazione combinata creare.- __annotazioni__ = {} #
- __init__ ( x_transform , y_transform , ** kwargs ) [fonte] #
Crea una nuova trasformazione "blended" utilizzando x_transform per trasformare l' asse x e y_transform per trasformare l' asse y .
Sia x_transform che y_transform devono essere trasformate affini 2D.
Generalmente non chiamerai questo costruttore direttamente, ma utilizzerai
blended_transform_factory
invece la funzione, che può determinare automaticamente quale tipo di trasformazione combinata creare.
- __module__ = 'matplotlib.transforms' #
- è_separabile = Vero #
Vero se questa trasformazione è separabile nelle dimensioni x e y.
- classe matplotlib.transforms. BlendedGenericTransform ( x_transform , y_transform , ** kwargs ) [fonte] #
Basi:
_BlendedMixin
,Transform
Una trasformazione "blended" utilizza una trasformazione per la direzione x e un'altra trasformazione per la direzione y .
Questa versione "generica" può gestire qualsiasi trasformazione figlio nelle direzioni x e y .
Crea una nuova trasformazione "blended" utilizzando x_transform per trasformare l' asse x e y_transform per trasformare l' asse y .
Generalmente non chiamerai questo costruttore direttamente, ma utilizzerai
blended_transform_factory
invece la funzione, che può determinare automaticamente quale tipo di trasformazione combinata creare.- __annotazioni__ = {} #
- __init__ ( x_transform , y_transform , ** kwargs ) [fonte] #
Crea una nuova trasformazione "blended" utilizzando x_transform per trasformare l' asse x e y_transform per trasformare l' asse y .
Generalmente non chiamerai questo costruttore direttamente, ma utilizzerai
blended_transform_factory
invece la funzione, che può determinare automaticamente quale tipo di trasformazione combinata creare.
- __module__ = 'matplotlib.transforms' #
- contiene_ramo ( altro ) [fonte] #
Restituisce se la trasformazione data è un sottoalbero di questa trasformazione.
Questa routine utilizza l'uguaglianza di trasformazione per identificare i sottoalberi, pertanto in molte situazioni verrà utilizzato l'ID oggetto.
Nel caso in cui la trasformazione data rappresenti l'intera trasformazione, restituisce True.
- profondità proprietà #
Restituisce il numero di trasformazioni che sono state concatenate insieme per formare questa istanza di trasformazione.
Nota
Per il caso speciale di una trasformazione Composite, viene restituita la profondità massima delle due.
- congelato ( ) [fonte] #
Restituisce una copia bloccata di questo nodo di trasformazione. La copia bloccata non verrà aggiornata quando i suoi figli cambiano. Utile per archiviare uno stato precedentemente noto di una trasformazione in cui
copy.deepcopy()
potrebbe essere normalmente utilizzato.
- proprietà has_inverse #
bool(x) -> bool
Restituisce True quando l'argomento x è vero, False in caso contrario. I builtin True e False sono le uniche due istanze della classe bool. La classe bool è una sottoclasse della classe int e non può essere sottoclasse.
- input_dim = 2 #
Il numero di dimensioni di input di questa trasformazione. Deve essere sovrascritto (con numeri interi) nella sottoclasse.
- invertito ( ) [fonte] #
Restituisce la trasformazione inversa corrispondente.
Tiene .
x == self.inverted().transform(self.transform(x))
Il valore restituito da questo metodo deve essere trattato come temporaneo. Un aggiornamento a sé non causa un corrispondente aggiornamento alla sua copia invertita.
- proprietà è_affine #
bool(x) -> bool
Restituisce True quando l'argomento x è vero, False in caso contrario. I builtin True e False sono le uniche due istanze della classe bool. La classe bool è una sottoclasse della classe int e non può essere sottoclasse.
- è_separabile = Vero #
Vero se questa trasformazione è separabile nelle dimensioni x e y.
- output_dim = 2 #
Il numero di dimensioni di output di questa trasformazione. Deve essere sovrascritto (con numeri interi) nella sottoclasse.
- pass_through = Vero #
Se pass_through è True, tutti gli antenati saranno sempre invalidati, anche se 'self' non è già valido.
- transform_non_affine ( punti ) [fonte] #
Applica solo la parte non affine di questa trasformazione.
transform(values)
è sempre equivalente atransform_affine(transform_non_affine(values))
.Nelle trasformazioni non affini, questo è generalmente equivalente a
transform(values)
. Nelle trasformazioni affini, questo è sempre un no-op.- Parametri :
- matrice di valori
I valori di input come matrice NumPy di lunghezza
input_dims
o forma (N xinput_dims
).
- Resi :
- Vettore
I valori di output come matrice NumPy di lunghezza
output_dims
o forma (N xoutput_dims
), a seconda dell'input.
- classe matplotlib.transforms. CompositeAffine2D ( a , b , ** kwargs ) [fonte] #
Basi:
Affine2DBase
Una trasformazione composita formata applicando la trasformazione a quindi la trasformazione b .
Questa versione è un'ottimizzazione che gestisce il caso in cui sia a che b siano affini 2D.
Crea una nuova trasformazione composita che è il risultato dell'applicazione a quindi b .
Affine2DBase
Affine2DBase
Generalmente non chiamerai questo costruttore direttamente ma scrivi invece, che sceglierà automaticamente il miglior tipo di istanza di trasformazione composita da creare.
a + b
- __annotazioni__ = {} #
- __init__ ( a , b , ** kwargs ) [fonte] #
Crea una nuova trasformazione composita che è il risultato dell'applicazione a quindi b .
Affine2DBase
Affine2DBase
Generalmente non chiamerai questo costruttore direttamente ma scrivi invece, che sceglierà automaticamente il miglior tipo di istanza di trasformazione composita da creare.
a + b
- __module__ = 'matplotlib.transforms' #
- profondità proprietà #
Restituisce il numero di trasformazioni che sono state concatenate insieme per formare questa istanza di trasformazione.
Nota
Per il caso speciale di una trasformazione Composite, viene restituita la profondità massima delle due.
- classe matplotlib.transforms. CompositeGenericTransform ( a , b , ** kwargs ) [fonte] #
Basi:
Transform
Una trasformazione composita formata applicando la trasformazione a quindi la trasformazione b .
Questa versione "generica" può gestire due trasformazioni arbitrarie qualsiasi.
Crea una nuova trasformazione composita che è il risultato dell'applicazione della trasformazione a quindi della trasformazione b .
Generalmente non chiamerai questo costruttore direttamente ma scrivi invece, che sceglierà automaticamente il miglior tipo di istanza di trasformazione composita da creare.
a + b
- __annotazioni__ = {} #
- __cancelletto__ = Nessuno #
- __init__ ( a , b , ** kwargs ) [fonte] #
Crea una nuova trasformazione composita che è il risultato dell'applicazione della trasformazione a quindi della trasformazione b .
Generalmente non chiamerai questo costruttore direttamente ma scrivi invece, che sceglierà automaticamente il miglior tipo di istanza di trasformazione composita da creare.
a + b
- __module__ = 'matplotlib.transforms' #
- profondità proprietà #
Restituisce il numero di trasformazioni che sono state concatenate insieme per formare questa istanza di trasformazione.
Nota
Per il caso speciale di una trasformazione Composite, viene restituita la profondità massima delle due.
- congelato ( ) [fonte] #
Restituisce una copia bloccata di questo nodo di trasformazione. La copia bloccata non verrà aggiornata quando i suoi figli cambiano. Utile per archiviare uno stato precedentemente noto di una trasformazione in cui
copy.deepcopy()
potrebbe essere normalmente utilizzato.
- proprietà has_inverse #
bool(x) -> bool
Restituisce True quando l'argomento x è vero, False in caso contrario. I builtin True e False sono le uniche due istanze della classe bool. La classe bool è una sottoclasse della classe int e non può essere sottoclasse.
- invertito ( ) [fonte] #
Restituisce la trasformazione inversa corrispondente.
Tiene .
x == self.inverted().transform(self.transform(x))
Il valore restituito da questo metodo deve essere trattato come temporaneo. Un aggiornamento a sé non causa un corrispondente aggiornamento alla sua copia invertita.
- proprietà è_affine #
bool(x) -> bool
Restituisce True quando l'argomento x è vero, False in caso contrario. I builtin True e False sono le uniche due istanze della classe bool. La classe bool è una sottoclasse della classe int e non può essere sottoclasse.
- la proprietà è_separabile #
bool(x) -> bool
Restituisce True quando l'argomento x è vero, False in caso contrario. I builtin True e False sono le uniche due istanze della classe bool. La classe bool è una sottoclasse della classe int e non può essere sottoclasse.
- pass_through = Vero #
Se pass_through è True, tutti gli antenati saranno sempre invalidati, anche se 'self' non è già valido.
- transform_affine ( punti ) [fonte] #
Applicare solo la parte affine di questa trasformazione sull'array di valori dato.
transform(values)
è sempre equivalente atransform_affine(transform_non_affine(values))
.Nelle trasformazioni non affini, questo è generalmente un no-op. Nelle trasformazioni affini, questo è equivalente a
transform(values)
.- Parametri :
- matrice di valori
I valori di input come matrice NumPy di lunghezza
input_dims
o forma (N xinput_dims
).
- Resi :
- Vettore
I valori di output come matrice NumPy di lunghezza
output_dims
o forma (N xoutput_dims
), a seconda dell'input.
- transform_non_affine ( punti ) [fonte] #
Applica solo la parte non affine di questa trasformazione.
transform(values)
è sempre equivalente atransform_affine(transform_non_affine(values))
.Nelle trasformazioni non affini, questo è generalmente equivalente a
transform(values)
. Nelle trasformazioni affini, questo è sempre un no-op.- Parametri :
- matrice di valori
I valori di input come matrice NumPy di lunghezza
input_dims
o forma (N xinput_dims
).
- Resi :
- Vettore
I valori di output come matrice NumPy di lunghezza
output_dims
o forma (N xoutput_dims
), a seconda dell'input.
- classe matplotlib.transforms. IdentityTransform ( * args , ** kwargs ) [fonte] #
Basi:
Affine2DBase
Una classe speciale che fa una cosa, la trasformazione dell'identità, in modo veloce.
- Parametri :
- nome_abbreviato str
Una stringa che rappresenta il "nome" della trasformazione. Il nome non ha altro significato se non quello di migliorare la leggibilità di
str(transform)
quando DEBUG=True.
- __annotazioni__ = {} #
- __module__ = 'matplotlib.transforms' #
- congelato ( ) [fonte] #
Restituisce una copia bloccata di questo nodo di trasformazione. La copia bloccata non verrà aggiornata quando i suoi figli cambiano. Utile per archiviare uno stato precedentemente noto di una trasformazione in cui
copy.deepcopy()
potrebbe essere normalmente utilizzato.
- invertito ( ) [fonte] #
Restituisce la trasformazione inversa corrispondente.
Tiene .
x == self.inverted().transform(self.transform(x))
Il valore restituito da questo metodo deve essere trattato come temporaneo. Un aggiornamento a sé non causa un corrispondente aggiornamento alla sua copia invertita.
- trasformare ( punti ) [fonte] #
Applicare questa trasformazione sull'array di valori dato .
- Parametri :
- matrice di valori
I valori di input come matrice NumPy di lunghezza
input_dims
o forma (N xinput_dims
).
- Resi :
- Vettore
I valori di output come matrice NumPy di lunghezza
output_dims
o forma (N xoutput_dims
), a seconda dell'input.
- transform_affine ( punti ) [fonte] #
Applicare solo la parte affine di questa trasformazione sull'array di valori dato.
transform(values)
è sempre equivalente atransform_affine(transform_non_affine(values))
.Nelle trasformazioni non affini, questo è generalmente un no-op. Nelle trasformazioni affini, questo è equivalente a
transform(values)
.- Parametri :
- matrice di valori
I valori di input come matrice NumPy di lunghezza
input_dims
o forma (N xinput_dims
).
- Resi :
- Vettore
I valori di output come matrice NumPy di lunghezza
output_dims
o forma (N xoutput_dims
), a seconda dell'input.
- transform_non_affine ( punti ) [fonte] #
Applica solo la parte non affine di questa trasformazione.
transform(values)
è sempre equivalente atransform_affine(transform_non_affine(values))
.Nelle trasformazioni non affini, questo è generalmente equivalente a
transform(values)
. Nelle trasformazioni affini, questo è sempre un no-op.- Parametri :
- matrice di valori
I valori di input come matrice NumPy di lunghezza
input_dims
o forma (N xinput_dims
).
- Resi :
- Vettore
I valori di output come matrice NumPy di lunghezza
output_dims
o forma (N xoutput_dims
), a seconda dell'input.
- transform_path ( percorso ) [fonte] #
Applica la trasformazione a path , restituendo un nuovo file .
Path
Path
In alcuni casi, questa trasformazione può inserire curve nel percorso iniziato come segmenti di linea.
- classe matplotlib.transforms. LockableBbox ( bbox , x0 = Nessuno , y0 = Nessuno , x1 = Nessuno , y1 = Nessuno , ** kwargs ) [fonte] #
Basi:
BboxBase
A
Bbox
in cui alcuni elementi possono essere bloccati su determinati valori.Quando il riquadro di delimitazione figlio cambia, i limiti di questa bbox si aggiorneranno di conseguenza ad eccezione degli elementi bloccati.
- Parametri :
- bbox
Bbox
Il riquadro di delimitazione figlio da avvolgere.
- x0 float o Nessuno
Il valore bloccato per x0 o Nessuno per lasciare sbloccato.
- y0 float o Nessuno
Il valore bloccato per y0 o Nessuno per lasciare sbloccato.
- x1 float o Nessuno
Il valore bloccato per x1 o Nessuno per lasciare sbloccato.
- y1 float o Nessuno
Il valore bloccato per y1 o Nessuno per lasciare sbloccato.
- bbox
- __annotazioni__ = {} #
- __init__ ( bbox , x0 = Nessuno , y0 = Nessuno , x1 = Nessuno , y1 = Nessuno , ** kwargs ) [fonte] #
- Parametri :
- bbox
Bbox
Il riquadro di delimitazione figlio da avvolgere.
- x0 float o Nessuno
Il valore bloccato per x0 o Nessuno per lasciare sbloccato.
- y0 float o Nessuno
Il valore bloccato per y0 o Nessuno per lasciare sbloccato.
- x1 float o Nessuno
Il valore bloccato per x1 o Nessuno per lasciare sbloccato.
- y1 float o Nessuno
Il valore bloccato per y1 o Nessuno per lasciare sbloccato.
- bbox
- __module__ = 'matplotlib.transforms' #
- proprietà bloccata_x0 #
float o None: il valore utilizzato per x0 bloccato.
- proprietà bloccata_x1 #
float o Nessuno: il valore utilizzato per x1 bloccato.
- proprietà bloccata_y0 #
float o Nessuno: il valore utilizzato per y0 bloccato.
- proprietà bloccata_y1 #
float o None: il valore utilizzato per y1 bloccato.
- classe matplotlib.transforms. ScaledTranslation ( xt , yt , scale_trans , ** kwargs ) [fonte] #
Basi:
Affine2DBase
Una trasformazione che traduce in xt e yt , dopo che xt e yt sono stati trasformati da scale_trans .
- Parametri :
- nome_abbreviato str
Una stringa che rappresenta il "nome" della trasformazione. Il nome non ha altro significato se non quello di migliorare la leggibilità di
str(transform)
quando DEBUG=True.
- __annotazioni__ = {} #
- __init__ ( xt , yt , scale_trans , ** kwargs ) [fonte] #
- Parametri :
- nome_abbreviato str
Una stringa che rappresenta il "nome" della trasformazione. Il nome non ha altro significato se non quello di migliorare la leggibilità di
str(transform)
quando DEBUG=True.
- __module__ = 'matplotlib.transforms' #
- classe matplotlib.transforms. Trasforma ( shorthand_name = None ) [fonte] #
Basi:
TransformNode
La classe base di tutte le
TransformNode
istanze che eseguono effettivamente una trasformazione.Tutte le trasformazioni non affini dovrebbero essere sottoclassi di questa classe. Le nuove trasformazioni affini dovrebbero essere sottoclassi di
Affine2D
.Le sottoclassi di questa classe devono sovrascrivere i seguenti membri (almeno):
inverted()
(se esiste un inverso)
I seguenti attributi possono essere ignorati se il valore predefinito non è adatto:
is_separable
(predefinito su True per trasformazioni 1D -> 1D, False altrimenti)has_inverse
(il valore predefinito è True seinverted()
viene sovrascritto, False in caso contrario)
Se la trasformazione deve fare qualcosa di non standard con
matplotlib.path.Path
gli oggetti, come aggiungere curve dove una volta c'erano segmenti di linea, dovrebbe sovrascrivere:- Parametri :
- nome_abbreviato str
Una stringa che rappresenta il "nome" della trasformazione. Il nome non ha altro significato se non quello di migliorare la leggibilità di
str(transform)
quando DEBUG=True.
- __aggiungi__ ( altro ) [fonte] #
Comporre due trasformazioni insieme in modo che self sia seguito da other .
A + B
restituisce una trasformazioneC
in modo che .C.transform(x) == B.transform(A.transform(x))
- __annotazioni__ = {} #
- __array__ ( * args , ** kwargs ) [fonte] #
Interfaccia array per ottenere la matrice affine di Transform.
- metodo di classe __init_subclass__ ( ) [ fonte] #
Questo metodo viene chiamato quando una classe è sottoclasse.
L'implementazione predefinita non fa nulla. Può essere sovrascritto per estendere le sottoclassi.
- __module__ = 'matplotlib.transforms' #
- __sub__ ( altro ) [fonte] #
Componi self con l'inverso di other , cancellando eventuali termini identici:
# 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 cancellazione (piuttosto che il ritorno ingenuo ) è importante per molteplici motivi:
A + B.inverted()
Evita imprecisioni in virgola mobile quando si calcola l'inverso di B: è garantito che si annulli esattamente (con conseguente trasformazione dell'identità), mentre può differire di un piccolo epsilon.
B - B
B + B.inverted()
B.inverted()
restituisce sempre una trasformazione congelata: se si calcola e successivamente si muta , allora non verrà aggiornato e gli ultimi due termini non si annulleranno più; d'altra parte, sarà sempre uguale a anche se è mutato.A + B + B.inverted()
B
B.inverted()
A + B - B
A
B
- contiene_ramo ( altro ) [fonte] #
Restituisce se la trasformazione data è un sottoalbero di questa trasformazione.
Questa routine utilizza l'uguaglianza di trasformazione per identificare i sottoalberi, pertanto in molte situazioni verrà utilizzato l'ID oggetto.
Nel caso in cui la trasformazione data rappresenti l'intera trasformazione, restituisce True.
- contiene_ramo_separatamente ( altra_trasformazione ) [fonte] #
Restituisce se il ramo specificato è un sottoalbero di questa trasformazione su ogni dimensione separata.
Un utilizzo comune di questo metodo consiste nell'identificare se una trasformazione è una trasformazione mista contenente una trasformazione dati di Axes. per esempio:
x_isdata, y_isdata = trans.contains_branch_seperately(ax.transData)
- profondità proprietà #
Restituisce il numero di trasformazioni che sono state concatenate insieme per formare questa istanza di trasformazione.
Nota
Per il caso speciale di una trasformazione Composite, viene restituita la profondità massima delle due.
- has_inverse = Falso #
Vero se questa trasformazione ha una trasformazione inversa corrispondente.
- input_dims = Nessuno #
Il numero di dimensioni di input di questa trasformazione. Deve essere sovrascritto (con numeri interi) nella sottoclasse.
- invertito ( ) [fonte] #
Restituisce la trasformazione inversa corrispondente.
Tiene .
x == self.inverted().transform(self.transform(x))
Il valore restituito da questo metodo deve essere trattato come temporaneo. Un aggiornamento a sé non causa un corrispondente aggiornamento alla sua copia invertita.
- è_separabile = Falso #
Vero se questa trasformazione è separabile nelle dimensioni x e y.
- output_dims = Nessuno #
Il numero di dimensioni di output di questa trasformazione. Deve essere sovrascritto (con numeri interi) nella sottoclasse.
- trasformare ( valori ) [fonte] #
Applicare questa trasformazione sull'array di valori dato .
- Parametri :
- matrice di valori
I valori di input come matrice NumPy di lunghezza
input_dims
o forma (N xinput_dims
).
- Resi :
- Vettore
I valori di output come matrice NumPy di lunghezza
output_dims
o forma (N xoutput_dims
), a seconda dell'input.
- transform_affine ( valori ) [fonte] #
Applicare solo la parte affine di questa trasformazione sull'array di valori dato.
transform(values)
è sempre equivalente atransform_affine(transform_non_affine(values))
.Nelle trasformazioni non affini, questo è generalmente un no-op. Nelle trasformazioni affini, questo è equivalente a
transform(values)
.- Parametri :
- matrice di valori
I valori di input come matrice NumPy di lunghezza
input_dims
o forma (N xinput_dims
).
- Resi :
- Vettore
I valori di output come matrice NumPy di lunghezza
output_dims
o forma (N xoutput_dims
), a seconda dell'input.
- transform_angles ( angoli , punti , radianti = False , pushoff = 1e-05 ) [fonte] #
Trasforma una serie di angoli ancorati in posizioni specifiche.
- Parametri :
- angoli (N,) a matrice
Gli angoli da trasformare.
- pts (N, 2) simile a un array
I punti in cui gli angoli sono ancorati.
- radianti bool, predefinito: falso
Se gli angoli sono radianti o gradi.
- galleggiante di spinta
Per ogni punto in pts e angolo in angoli , l'angolo trasformato viene calcolato trasformando un segmento di lunghezza pushoff partendo da quel punto e rendendo tale angolo relativo all'asse orizzontale, e misurando l'angolo tra l'asse orizzontale e il segmento trasformato.
- Resi :
- (N,) matrice
- transform_bbox ( bbox ) [fonte] #
Trasforma il riquadro di delimitazione dato.
Per trasformazioni più intelligenti, inclusa la memorizzazione nella cache (un requisito comune in Matplotlib), vedere
TransformedBbox
.
- transform_non_affine ( valori ) [fonte] #
Applica solo la parte non affine di questa trasformazione.
transform(values)
è sempre equivalente atransform_affine(transform_non_affine(values))
.Nelle trasformazioni non affini, questo è generalmente equivalente a
transform(values)
. Nelle trasformazioni affini, questo è sempre un no-op.- Parametri :
- matrice di valori
I valori di input come matrice NumPy di lunghezza
input_dims
o forma (N xinput_dims
).
- Resi :
- Vettore
I valori di output come matrice NumPy di lunghezza
output_dims
o forma (N xoutput_dims
), a seconda dell'input.
- transform_path ( percorso ) [fonte] #
Applica la trasformazione a path , restituendo un nuovo file .
Path
Path
In alcuni casi, questa trasformazione può inserire curve nel percorso iniziato come segmenti di linea.
- transform_path_affine ( percorso ) [fonte] #
Applica la parte affine di questa trasformazione a path , restituendo un nuovo .
Path
Path
transform_path(path)
è equivalente atransform_path_affine(transform_path_non_affine(values))
.
- transform_path_non_affine ( percorso ) [fonte] #
Applica la parte non affine di questa trasformazione a path , restituendo un nuovo .
Path
Path
transform_path(path)
è equivalente atransform_path_affine(transform_path_non_affine(values))
.
- transform_point ( punto ) [fonte] #
Restituisce un punto trasformato.
Questa funzione viene mantenuta solo per retrocompatibilità; il metodo più generale
transform
è in grado di trasformare sia un elenco di punti che un singolo punto.Il punto è dato come una sequenza di lunghezza
input_dims
. Il punto trasformato viene restituito come sequenza di lengthoutput_dims
.
- classe matplotlib.transforms. TransformNode ( shorthand_name = None ) [fonte] #
Basi:
object
La classe base per tutto ciò che partecipa all'albero di trasformazione e deve invalidare i suoi genitori o essere invalidato. Ciò include le classi che non sono realmente trasformazioni, come i riquadri di delimitazione, poiché alcune trasformazioni dipendono dai riquadri di delimitazione per calcolare i loro valori.
- Parametri :
- nome_abbreviato str
Una stringa che rappresenta il "nome" della trasformazione. Il nome non ha altro significato se non quello di migliorare la leggibilità di
str(transform)
quando DEBUG=True.
- NON VALIDO = 3 #
- INVALID_AFFINE = 2 #
- INVALID_NON_AFFINE = 1 #
- __annotazioni__ = {} #
- __dict__ = mappingproxy({'__module__': 'matplotlib.transforms', '__doc__': '\n La classe base per tutto ciò che partecipa all'albero di trasformazione \n e deve invalidare i suoi genitori o essere invalidato. Ciò include\n le classi che non sono realmente trasformazioni, come i riquadri di delimitazione , poiché alcune\n trasformazioni dipendono dal limite box per calcolarne i valori.\n ', 'INVALID_NON_AFFINE': 1, 'INVALID_AFFINE': 2, 'INVALID': 3, 'is_affine': False, 'is_bbox': False, 'pass_through': False, '__init__': <funzione TransformNode.__init__>, '__getstate__': <funzione TransformNode.__getstate__>, '__setstate__': <funzione TransformNode.__setstate__>, '__copy__': <funzione TransformNode.__copy__>, 'invalidate': <funzione TransformNode.invalidate>, '_invalidate_internal': <funzione TransformNode._invalidate_internal>, 'set_children': <funzione TransformNode.set_children>, 'frozen': <funzione TransformNode.frozen>, '__dict__': <attributo '__dict__' degli oggetti 'TransformNode' >, '__weakref__': < attributo '__weakref__' degli oggetti 'TransformNode' >, '__annotations__': {}}) #
- __init__ ( shorthand_name = None ) [fonte] #
- Parametri :
- nome_abbreviato str
Una stringa che rappresenta il "nome" della trasformazione. Il nome non ha altro significato se non quello di migliorare la leggibilità di
str(transform)
quando DEBUG=True.
- __module__ = 'matplotlib.transforms' #
- __riferimento debole__ #
elenco di riferimenti deboli all'oggetto (se definito)
- congelato ( ) [fonte] #
Restituisce una copia bloccata di questo nodo di trasformazione. La copia bloccata non verrà aggiornata quando i suoi figli cambiano. Utile per archiviare uno stato precedentemente noto di una trasformazione in cui
copy.deepcopy()
potrebbe essere normalmente utilizzato.
- invalidare ( ) [fonte] #
Invalida questo
TransformNode
e attiva un'invalidazione dei suoi predecessori. Dovrebbe essere chiamato ogni volta che la trasformazione cambia.
- is_affine = Falso #
- is_bbox = Falso #
- pass_through = Falso #
Se pass_through è True, tutti gli antenati saranno sempre invalidati, anche se 'self' non è già valido.
- classe matplotlib.transforms. TransformWrapper ( figlio ) [fonte] #
Basi:
Transform
Una classe helper che contiene una singola trasformazione figlio e agisce in modo equivalente ad essa.
Ciò è utile se un nodo dell'albero di trasformazione deve essere sostituito in fase di esecuzione con una trasformazione di tipo diverso. Questa classe consente a tale sostituzione di attivare correttamente l'invalidazione.
TransformWrapper
le istanze devono avere le stesse dimensioni di input e output durante l'intera durata, quindi la trasformazione figlio può essere sostituita solo con un'altra trasformazione figlio delle stesse dimensioni.child :
Transform
Un'istanza. Questo bambino può essere successivamente sostituito conset()
.- __annotazioni__ = {} #
- __cancelletto__ = Nessuno #
- __init__ ( figlio ) [fonte] #
child :
Transform
Un'istanza. Questo bambino può essere successivamente sostituito conset()
.
- __module__ = 'matplotlib.transforms' #
- congelato ( ) [fonte] #
Restituisce una copia bloccata di questo nodo di trasformazione. La copia bloccata non verrà aggiornata quando i suoi figli cambiano. Utile per archiviare uno stato precedentemente noto di una trasformazione in cui
copy.deepcopy()
potrebbe essere normalmente utilizzato.
- proprietà has_inverse #
bool(x) -> bool
Restituisce True quando l'argomento x è vero, False in caso contrario. I builtin True e False sono le uniche due istanze della classe bool. La classe bool è una sottoclasse della classe int e non può essere sottoclasse.
- proprietà è_affine #
bool(x) -> bool
Restituisce True quando l'argomento x è vero, False in caso contrario. I builtin True e False sono le uniche due istanze della classe bool. La classe bool è una sottoclasse della classe int e non può essere sottoclasse.
- la proprietà è_separabile #
bool(x) -> bool
Restituisce True quando l'argomento x è vero, False in caso contrario. I builtin True e False sono le uniche due istanze della classe bool. La classe bool è una sottoclasse della classe int e non può essere sottoclasse.
- pass_through = Vero #
Se pass_through è True, tutti gli antenati saranno sempre invalidati, anche se 'self' non è già valido.
- classe matplotlib.transforms. TransformedBbox ( bbox , transform , ** kwargs ) [fonte] #
Basi:
BboxBase
A
Bbox
che viene trasformato automaticamente da una data trasformazione. Quando il riquadro di delimitazione figlio o la trasformazione cambiano, i limiti di questa bbox si aggiorneranno di conseguenza.- __annotazioni__ = {} #
- __module__ = 'matplotlib.transforms' #
- classe matplotlib.transforms. TransformedPatchPath ( patch ) [fonte] #
Basi:
TransformedPath
A
TransformedPatchPath
memorizza nella cache una copia trasformata non affine del filePatch
. Questa copia memorizzata nella cache viene aggiornata automaticamente quando la parte non affine della trasformazione o della patch cambia.- Parametri :
- toppa
Patch
- toppa
- __annotazioni__ = {} #
- __module__ = 'matplotlib.transforms' #
- classe matplotlib.transforms. TransformedPath ( percorso , trasformazione ) [fonte] #
Basi:
TransformNode
A
TransformedPath
memorizza nella cache una copia trasformata non affine del filePath
. Questa copia memorizzata nella cache viene aggiornata automaticamente quando cambia la parte non affine della trasformazione.Nota
I percorsi sono considerati immutabili da questa classe. Qualsiasi aggiornamento ai vertici/codici del percorso non attiverà un ricalcolo della trasformazione.
- __annotazioni__ = {} #
- __module__ = 'matplotlib.transforms' #
- get_fully_transformed_path ( ) [fonte] #
Restituisce una copia completamente trasformata del percorso figlio.
- get_transformed_path_and_affine ( ) [fonte] #
Restituisce una copia del percorso figlio, con la parte non affine della trasformazione già applicata, insieme alla parte affine del percorso necessaria per completare la trasformazione.
- get_transformed_points_and_affine ( ) [fonte] #
Restituisce una copia del percorso figlio, con la parte non affine della trasformazione già applicata, insieme alla parte affine del percorso necessaria per completare la trasformazione. A differenza
get_transformed_path_and_affine()
di , non verrà eseguita alcuna interpolazione.
- matplotlib.transforms. blended_transform_factory ( x_transform , y_transform ) [fonte] #
Crea una nuova trasformazione "blended" utilizzando x_transform per trasformare l' asse x e y_transform per trasformare l' asse y .
Viene restituita una versione più veloce della trasformazione combinata nel caso in cui entrambe le trasformazioni figlio siano affini.
- matplotlib.transforms. composite_transform_factory ( a , b ) [fonte] #
Creare una nuova trasformazione composita che sia il risultato dell'applicazione della trasformazione a quindi della trasformazione b.
Le versioni di scelta rapida della trasformazione combinata sono fornite nel caso in cui entrambe le trasformazioni figlio siano affini o l'una o l'altra sia la trasformazione dell'identità.
Le trasformazioni composite possono anche essere create utilizzando l'operatore '+', ad esempio:
c = a + b
- matplotlib.transforms. interval_contains ( intervallo , val ) [fonte] #
Controlla, inclusivamente, se un intervallo include un dato valore.
- Parametri :
- intervallo (float, float)
I punti finali dell'intervallo.
- galleggiante val
Il valore da controllare è compreso nell'intervallo.
- Resi :
- bool
Indica se val rientra nell'intervallo .
- matplotlib.transforms. interval_contains_open ( intervallo , val ) [fonte] #
Verifica, escludendo gli endpoint, se un intervallo include un dato valore.
- Parametri :
- intervallo (float, float)
I punti finali dell'intervallo.
- galleggiante val
Il valore da controllare è compreso nell'intervallo.
- Resi :
- bool
Indica se val rientra nell'intervallo .
- matplotlib.transforms. non singolare ( vmin , vmax , expander = 0.001 , tiny = 1e-15 , crescente = True ) [fonte] #
Modificare i punti finali di un intervallo secondo necessità per evitare singolarità.
- Parametri :
- vmin, vmax float
Gli estremi iniziali.
- float di espansione , predefinito: 0.001
Quantità frazionaria di cui vmin e vmax vengono espansi se l'intervallo originale è troppo piccolo, basato su tiny .
- float minuscolo , predefinito: 1e-15
Soglia per il rapporto tra l'intervallo e il valore assoluto massimo dei suoi punti finali. Se l'intervallo è inferiore a questo, verrà espanso. Questo valore dovrebbe essere di circa 1e-15 o superiore; altrimenti l'intervallo si avvicinerà al limite di risoluzione a doppia precisione.
- bool crescente , valore predefinito: vero
Se True, scambia vmin , vmax se vmin > vmax .
- Resi :
- vmin, vmax float
Endpoint, espansi e/o scambiati se necessario. Se uno degli input è inf o NaN, o se entrambi gli input sono 0 o molto vicini a zero, restituisce - expander , expander .
- matplotlib.transforms. offset_copy ( trans , fig = Nessuno , x = 0.0 , y = 0.0 , unità = 'pollici' ) [fonte] #
Restituisce una nuova trasformazione con un offset aggiunto.
- Parametri :
- sottoclasse trans
Transform
Qualsiasi trasformazione, a cui verrà applicato l'offset.
- fig
Figure
, impostazione predefinita: Nessuno Cifra attuale. Può essere Nessuno se le unità sono 'punti'.
- x, y float, predefinito: 0.0
L'offset da applicare.
- unità {'pollici', 'punti', 'punti'}, valore predefinito: 'pollici'
Unità dell'offset.
- sottoclasse trans
- Resi :
Transform
sottoclasseTrasforma con offset applicato.