matplotlib.transforms
#
Matplotlib inclut un cadre pour les transformations géométriques arbitraires qui est utilisé pour déterminer la position finale de tous les éléments dessinés sur le canevas.
Les transformations sont composées d'arbres d' TransformNode
objets dont la valeur réelle dépend de leurs enfants. Lorsque le contenu des enfants change, leurs parents sont automatiquement invalidés. Lors du prochain accès à une transformation invalidée, elle est recalculée pour refléter ces modifications. Cette approche d'invalidation/mise en cache empêche les recalculs inutiles des transformations et contribue à de meilleures performances interactives.
Par exemple, voici un graphique de l'arbre de transformation utilisé pour tracer les données sur le graphique :
Le cadre peut être utilisé pour les transformations affines et non affines. Cependant, pour plus de rapidité, nous souhaitons utiliser les moteurs de rendu principaux pour effectuer des transformations affines chaque fois que possible. Par conséquent, il est possible d'effectuer uniquement la partie affine ou non affine d'une transformation sur un ensemble de données. L'affiné est toujours supposé se produire après le non-affiné. Pour toute transformation :
full transform == non-affine part + affine part
Les backends ne sont pas censés gérer eux-mêmes les transformations non affines.
Voir le tutoriel Transformations Tutorial pour des exemples d'utilisation des transformations.
- classe matplotlib.transforms. Affine2D ( matrice = Aucune , ** kwargs ) [source] #
Socles :
Affine2DBase
Une transformation affine 2D mutable.
Initialisez une transformation Affine à partir d'un tableau flottant numpy 3x3 :
a c e b d f 0 0 1
Si matrix vaut None, initialiser avec la transformation d'identité.
- __init__ ( matrice = Aucun , ** kwargs ) [source] #
Initialisez une transformation Affine à partir d'un tableau flottant numpy 3x3 :
a c e b d f 0 0 1
Si matrix vaut None, initialiser avec la transformation d'identité.
- __module__ = 'matplotlib.transforms' #
- static from_values ( a , b , c , d , e , f ) [source] #
Créez une nouvelle instance Affine2D à partir des valeurs données :
a c e b d f 0 0 1
.
- get_matrix ( ) [source] #
Obtenez la matrice de transformation sous-jacente sous la forme d'un tableau numpy 3x3 :
a c e b d f 0 0 1
.
- identité statique ( ) [source] #
[ Obsolète ] Renvoie un nouvel
Affine2D
objet qui est la transformation d'identité.À moins que cette transformation ne soit mutée ultérieurement, envisagez
IdentityTransform
plutôt d'utiliser la classe la plus rapide.Remarques
Obsolète depuis la version 3.6 : utilisez plutôt Affine2D().
- tourner ( thêta ) [source] #
Ajoutez une rotation (en radians) à cette transformation en place.
Retourne self , donc cette méthode peut facilement être enchaînée avec plus d'appels à
rotate()
,rotate_deg()
et .translate()
scale()
- rotate_around ( x , y , thêta ) [source] #
Ajouter une rotation (en radians) autour du point (x, y) en place.
Retourne self , donc cette méthode peut facilement être enchaînée avec plus d'appels à
rotate()
,rotate_deg()
et .translate()
scale()
- rotate_deg ( degrés ) [source] #
Ajoutez une rotation (en degrés) à cette transformation en place.
Retourne self , donc cette méthode peut facilement être enchaînée avec plus d'appels à
rotate()
,rotate_deg()
et .translate()
scale()
- rotate_deg_around ( x , y , degrés ) [source] #
Ajouter une rotation (en degrés) autour du point (x, y) en place.
Retourne self , donc cette méthode peut facilement être enchaînée avec plus d'appels à
rotate()
,rotate_deg()
et .translate()
scale()
- échelle ( sx , sy = Aucun ) [source] #
Ajouter une échelle en place.
Si sy vaut Aucun, la même échelle est appliquée dans les directions x et y .
Retourne self , donc cette méthode peut facilement être enchaînée avec plus d'appels à
rotate()
,rotate_deg()
et .translate()
scale()
- ensemble ( autre ) [source] #
Définissez cette transformation à partir de la copie figée d'un autre
Affine2DBase
objet.
- set_matrix ( mtx ) [source] #
Définissez la matrice de transformation sous-jacente à partir d'un tableau numpy 3x3 :
a c e b d f 0 0 1
.
- skew ( xShear , yShear ) [source] #
Ajouter un biais en place.
xShear et yShear sont les angles de cisaillement le long des axes x et y , respectivement, en radians.
Retourne self , donc cette méthode peut facilement être enchaînée avec plus d'appels à
rotate()
,rotate_deg()
et .translate()
scale()
- skew_deg ( xShear , yShear ) [source] #
Ajouter un biais en place.
xShear et yShear sont les angles de cisaillement le long des axes x et y , respectivement, en degrés.
Retourne self , donc cette méthode peut facilement être enchaînée avec plus d'appels à
rotate()
,rotate_deg()
et .translate()
scale()
- traduire ( tx , ty ) [source] #
Ajouter une traduction en place.
Retourne self , donc cette méthode peut facilement être enchaînée avec plus d'appels à
rotate()
,rotate_deg()
et .translate()
scale()
- classe matplotlib.transforms. Affine2DBase ( * args , ** kwargs ) [source] #
Socles :
AffineBase
La classe de base de toutes les transformations affines 2D.
Les transformations affines 2D sont effectuées à l'aide d'un tableau numpy 3x3 :
a c e b d f 0 0 1
Cette classe fournit l'interface en lecture seule. Pour une transformation affine 2D mutable, utilisez
Affine2D
.Les sous-classes de cette classe n'auront généralement besoin que de remplacer un constructeur et
get_matrix()
cela génère une matrice 3x3 personnalisée.- Paramètres :
- raccourci_name str
Une chaîne représentant le "nom" de la transformation. Le nom n'a aucune autre signification que d'améliorer la lisibilité
str(transform)
lorsque DEBUG=True.
- __annotations__ = {} #
- __module__ = 'matplotlib.transforms' #
- gelé ( ) [source] #
Renvoie une copie figée de ce nœud de transformation. La copie gelée ne sera pas mise à jour lorsque ses enfants changeront. Utile pour stocker un état précédemment connu d'une transformation qui
copy.deepcopy()
pourrait normalement être utilisée.
- a_inverse = Vrai #
True si cette transformation a une transformation inverse correspondante.
- input_dims = 2 #
Le nombre de dimensions d'entrée de cette transformation. Doit être remplacé (avec des entiers) dans la sous-classe.
- inversé ( ) [source] #
Renvoie la transformation inverse correspondante.
Ça tient .
x == self.inverted().transform(self.transform(x))
La valeur de retour de cette méthode doit être traitée comme temporaire. Une mise à jour de soi ne provoque pas une mise à jour correspondante de sa copie inversée.
- la propriété est_séparable #
bool(x) -> bool
Renvoie True lorsque l'argument x est vrai, False sinon. Les commandes intégrées True et False sont les deux seules instances de la classe bool. La classe bool est une sous-classe de la classe int et ne peut pas être sous-classée.
- output_dims = 2 #
Le nombre de dimensions de sortie de cette transformation. Doit être remplacé (avec des entiers) dans la sous-classe.
- transform_affine ( points ) [source] #
Appliquez uniquement la partie affine de cette transformation sur le tableau de valeurs donné.
transform(values)
est toujours équivalent àtransform_affine(transform_non_affine(values))
.Dans les transformations non affines, il s'agit généralement d'un no-op. Dans les transformations affines, cela équivaut à
transform(values)
.- Paramètres :
- tableau de valeurs
Les valeurs d'entrée sous forme de tableau NumPy de longueur
input_dims
ou de forme (N xinput_dims
).
- Retours :
- déployer
Les valeurs de sortie sous forme de tableau NumPy de longueur
output_dims
ou de forme (N xoutput_dims
), selon l'entrée.
- classe matplotlib.transforms. AffineBase ( * args , ** kwargs ) [source] #
Socles :
Transform
La classe de base de toutes les transformations affines de n'importe quel nombre de dimensions.
- Paramètres :
- raccourci_name str
Une chaîne représentant le "nom" de la transformation. Le nom n'a aucune autre signification que d'améliorer la lisibilité
str(transform)
lorsque DEBUG=True.
- __annotations__ = {} #
- __array__ ( * args , ** kwargs ) [source] #
Interface de tableau pour accéder à la matrice affine de cette transformation.
- __hash__ = Aucun #
- __init__ ( * args , ** kwargs ) [source] #
- Paramètres :
- raccourci_name str
Une chaîne représentant le "nom" de la transformation. Le nom n'a aucune autre signification que d'améliorer la lisibilité
str(transform)
lorsque DEBUG=True.
- __module__ = 'matplotlib.transforms' #
- est_affine = Vrai #
- transformer ( valeurs ) [source] #
Appliquez cette transformation sur le tableau de valeurs donné .
- Paramètres :
- tableau de valeurs
Les valeurs d'entrée sous forme de tableau NumPy de longueur
input_dims
ou de forme (N xinput_dims
).
- Retours :
- déployer
Les valeurs de sortie sous forme de tableau NumPy de longueur
output_dims
ou de forme (N xoutput_dims
), selon l'entrée.
- transform_affine ( valeurs ) [source] #
Appliquez uniquement la partie affine de cette transformation sur le tableau de valeurs donné.
transform(values)
est toujours équivalent àtransform_affine(transform_non_affine(values))
.Dans les transformations non affines, il s'agit généralement d'un no-op. Dans les transformations affines, cela équivaut à
transform(values)
.- Paramètres :
- tableau de valeurs
Les valeurs d'entrée sous forme de tableau NumPy de longueur
input_dims
ou de forme (N xinput_dims
).
- Retours :
- déployer
Les valeurs de sortie sous forme de tableau NumPy de longueur
output_dims
ou de forme (N xoutput_dims
), selon l'entrée.
- transform_non_affine ( points ) [source] #
N'appliquez que la partie non affine de cette transformation.
transform(values)
est toujours équivalent àtransform_affine(transform_non_affine(values))
.Dans les transformations non affines, cela équivaut généralement à
transform(values)
. Dans les transformations affines, c'est toujours un no-op.- Paramètres :
- tableau de valeurs
Les valeurs d'entrée sous forme de tableau NumPy de longueur
input_dims
ou de forme (N xinput_dims
).
- Retours :
- déployer
Les valeurs de sortie sous forme de tableau NumPy de longueur
output_dims
ou de forme (N xoutput_dims
), selon l'entrée.
- transform_path ( chemin ) [source] #
Appliquez la transformation à path , renvoyant un nouveau .
Path
Path
Dans certains cas, cette transformation peut insérer des courbes dans le chemin qui ont commencé par des segments de ligne.
- classe matplotlib.transforms. AffineDeltaTransform ( transformer , ** kwargs ) [source] #
Socles :
Affine2DBase
Un wrapper de transformation pour transformer les déplacements entre des paires de points.
Cette classe est destinée à être utilisée pour transformer les déplacements (« deltas de position ») entre des paires de points (par exemple, comme le
offset_transform
deCollection
s) : étant donné une transforméet
telle que , satisfait .t = AffineDeltaTransform(t) + offset
AffineDeltaTransform
AffineDeltaTransform(a - b) == AffineDeltaTransform(a) - AffineDeltaTransform(b)
Ceci est mis en œuvre en forçant les composants de décalage de la matrice de transformation à zéro.
Cette classe est expérimentale depuis la version 3.3 et l'API peut changer.
- Paramètres :
- raccourci_name str
Une chaîne représentant le "nom" de la transformation. Le nom n'a aucune autre signification que d'améliorer la lisibilité
str(transform)
lorsque DEBUG=True.
- __annotations__ = {} #
- __init__ ( transformer , ** kwargs ) [source] #
- Paramètres :
- raccourci_name str
Une chaîne représentant le "nom" de la transformation. Le nom n'a aucune autre signification que d'améliorer la lisibilité
str(transform)
lorsque DEBUG=True.
- __module__ = 'matplotlib.transforms' #
- classe matplotlib.transforms. Bbox ( points , ** kwargs ) [source] #
Socles :
BboxBase
Une boîte englobante modifiable.
Exemples
Créer à partir de limites connues
Le constructeur par défaut prend la limite "points" .
[[xmin, ymin], [xmax, ymax]]
>>> Bbox([[1, 1], [3, 7]]) Bbox([[1.0, 1.0], [3.0, 7.0]])
Alternativement, une Bbox peut être créée à partir du tableau de points aplatis, les soi-disant "extents"
(xmin, ymin, xmax, ymax)
>>> Bbox.from_extents(1, 1, 3, 7) Bbox([[1.0, 1.0], [3.0, 7.0]])
ou des "limites" .
(xmin, ymin, width, height)
>>> Bbox.from_bounds(1, 1, 2, 6) Bbox([[1.0, 1.0], [3.0, 7.0]])
Créer à partir de collections de points
L'objet "vide" pour accumuler des Bbox est la bbox nulle, qui remplace l'ensemble vide.
>>> Bbox.null() Bbox([[inf, inf], [-inf, -inf]])
L'ajout de points à la bbox nulle vous donnera la bbox de ces points.
>>> 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]])
Le réglage
ignore=True
équivaut à recommencer à partir d'une bbox nulle.>>> box.update_from_data_xy([[1, 1]], ignore=True) >>> box Bbox([[1.0, 1.0], [1.0, 1.0]])
Avertissement
Il est recommandé de toujours spécifier
ignore
explicitement. Sinon, la valeur par défaut deignore
peut être modifiée à tout moment par code avec accès à votre Bbox, par exemple en utilisant la méthodeignore
.Propriétés de la bbox ``null``
Noter
Le comportement actuel de
Bbox.null()
peut surprendre car il n'a pas toutes les propriétés de "l'ensemble vide", et en tant que tel ne se comporte pas comme un objet "zéro" au sens mathématique. Nous pouvons changer cela à l'avenir (avec une période de dépréciation).La bbox nulle est l'identité des intersections
>>> Bbox.intersection(Bbox([[1, 1], [3, 7]]), Bbox.null()) Bbox([[1.0, 1.0], [3.0, 7.0]])
sauf avec lui-même, où il renvoie l'espace complet.
>>> Bbox.intersection(Bbox.null(), Bbox.null()) Bbox([[-inf, -inf], [inf, inf]])
Une union contenant null renverra toujours l'espace complet (pas l'autre ensemble !)
>>> Bbox.union([Bbox([[0, 0], [0, 0]]), Bbox.null()]) Bbox([[-inf, -inf], [inf, inf]])
- Paramètres :
- points ndarray
Un tableau numpy 2x2 de la forme .
[[x0, y0], [x1, y1]]
- __annotations__ = {} #
- __init__ ( points , ** kwargs ) [source] #
- Paramètres :
- points ndarray
Un tableau numpy 2x2 de la forme .
[[x0, y0], [x1, y1]]
- __module__ = 'matplotlib.transforms' #
- static from_bounds ( x0 , y0 , largeur , hauteur ) [source] #
Créez un nouveau
Bbox
à partir de x0 , y0 , largeur et hauteur .la largeur et la hauteur peuvent être négatives.
- statique from_extents ( * args , minpos = None ) [source] #
Créez une nouvelle Bbox à partir de la gauche , du bas , de la droite et du haut .
L' axe y augmente vers le haut.
- Paramètres :
- flottant gauche, bas, droite, haut
Les quatre étendues de la boîte englobante.
- minpos flottant ou Aucun
S'il est fourni, la Bbox aura une valeur minimale positive définie. Ceci est utile lorsqu'il s'agit d'échelles logarithmiques et d'autres échelles où les bornes négatives entraînent des erreurs en virgule flottante.
- gelé ( ) [source] #
La classe de base pour tout ce qui participe à l'arbre de transformation et doit invalider ses parents ou être invalidé. Cela inclut les classes qui ne sont pas vraiment des transformations, telles que les cadres de délimitation, car certaines transformations dépendent des cadres de délimitation pour calculer leurs valeurs.
- get_points ( ) [source] #
Obtenez les points de la boîte englobante directement sous la forme d'un tableau numérique de la forme : .
[[x0, y0], [x1, y1]]
- ignorer ( valeur ) [source] #
Définissez si les limites existantes de la boîte doivent être ignorées par les appels ultérieurs à
update_from_data_xy()
.- valeur booléen
Lorsque
True
, les appels ultérieurs àupdate_from_data_xy()
ignoreront les limites existantes deBbox
.Lorsque
False
, les appels ultérieurs àupdate_from_data_xy()
incluront les limites existantes deBbox
.
- propriété intervallex #
La paire de coordonnées x qui définissent la boîte englobante.
Ce n'est pas garanti d'être trié de gauche à droite.
- intervalle de propriété #
La paire de coordonnées y qui définissent la zone de délimitation.
Ce n'est pas garanti d'être trié de bas en haut.
- propriété minpos #
La valeur positive minimale dans les deux sens dans la Bbox.
Ceci est utile lorsqu'il s'agit d'échelles logarithmiques et d'autres échelles où des bornes négatives entraînent des erreurs en virgule flottante, et sera utilisé comme étendue minimale au lieu de p0 .
- propriété minposx #
La valeur positive minimale dans la direction x dans la Bbox.
Ceci est utile lorsqu'il s'agit d'échelles logarithmiques et d'autres échelles où des bornes négatives entraînent des erreurs en virgule flottante, et sera utilisé comme l' étendue x minimale au lieu de x0 .
- propriété minposy #
La valeur positive minimale dans la direction y dans la Bbox.
Ceci est utile lorsqu'il s'agit d'échelles logarithmiques et d'autres échelles où des bornes négatives entraînent des erreurs en virgule flottante, et sera utilisé comme y -extent minimum au lieu de y0 .
- propriété p0 #
La première paire de coordonnées ( x , y ) qui définissent la zone de délimitation.
Il n'est pas garanti que ce soit le coin inférieur gauche (pour cela, utilisez
min
).
- propriété p1 #
La deuxième paire de coordonnées ( x , y ) qui définissent la boîte englobante.
Il n'est pas garanti que ce soit le coin supérieur droit (pour cela, utilisez
max
).
- ensemble ( autre ) [source] #
Définissez cette boîte englobante à partir des limites "figées" d'un autre fichier
Bbox
.
- set_points ( points ) [source] #
Définissez les points de la boîte englobante directement à partir d'un tableau numpy de la forme : . Aucune vérification d'erreur n'est effectuée, car cette méthode est principalement destinée à un usage interne.
[[x0, y0], [x1, y1]]
- update_from_data_x ( x , ignore = None ) [source] #
Mettez à jour les limites x du
Bbox
en fonction des données transmises. Après la mise à jour, les bornes auront une largeur positive et x0 sera la valeur minimale.
- update_from_data_xy ( xy , ignore = None , updatex = True , updatey = True ) [source] #
Mettez à jour les limites de
Bbox
en fonction des données transmises. Après la mise à jour, les limites auront une largeur et une hauteur positives ; x0 et y0 seront les valeurs minimales.- Paramètres :
- xy ndarray
Un tableau numérique de points 2D.
- ignorer booléen, facultatif
- updatex, updatey bool, par défaut : True
Lorsque
True
, mettez à jour les valeurs x/y.
- update_from_data_y ( y , ignore = None ) [source] #
Mettez à jour les limites y du
Bbox
en fonction des données transmises. Après la mise à jour, les limites auront une hauteur positive et y0 sera la valeur minimale.
- update_from_path ( path , ignore = None , updatex = True , updatey = True ) [source] #
Mettez à jour les limites de
Bbox
pour contenir les sommets du chemin fourni. Après la mise à jour, les limites auront une largeur et une hauteur positives ; x0 et y0 seront les valeurs minimales.- Paramètres :
- propriété x0 #
La première de la paire de coordonnées x qui définissent la zone de délimitation.
Il n'est pas garanti que ce soit inférieur à
x1
(pour cela, utilisezxmin
).
- propriété x1 #
La seconde de la paire de coordonnées x qui définissent la zone de délimitation.
Il n'est pas garanti que ce soit supérieur à
x0
(pour cela, utilisezxmax
).
- classe matplotlib.transforms. BboxBase ( shorthand_name = None ) [source] #
Socles :
TransformNode
La classe de base de toutes les boîtes englobantes.
Cette classe est immuable ;
Bbox
est une sous-classe mutable.La représentation canonique est en deux points, sans aucune restriction sur leur ordre. Des propriétés pratiques sont fournies pour obtenir les bords gauche, bas, droit et haut, ainsi que la largeur et la hauteur, mais celles-ci ne sont pas stockées explicitement.
- Paramètres :
- raccourci_name str
Une chaîne représentant le "nom" de la transformation. Le nom n'a aucune autre signification que d'améliorer la lisibilité
str(transform)
lorsque DEBUG=True.
- __annotations__ = {} #
- __module__ = 'matplotlib.transforms' #
- ancré ( c , conteneur = Aucun ) [source] #
Renvoie une copie de
Bbox
ancré à c dans le conteneur .- Paramètres :
- c (flottant, flottant) ou {'C', 'SW', 'S', 'SE', 'E', 'NE', ...}
Soit une paire ( x , y ) de coordonnées relatives (0 est à gauche ou en bas, 1 à droite ou en haut), 'C' (centre), ou une direction cardinale ('SW', sud-ouest, est en bas à gauche, etc.) .
- conteneur
Bbox
, facultatif La boîte dans laquelle le
Bbox
est positionné ; il est par défaut à l'initialeBbox
.
Voir également
- 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)} #
- coins ( ) [source] #
Renvoie les coins de ce rectangle sous la forme d'un tableau de points.
Plus précisément, cela renvoie le tableau .
[[x0, y0], [x0, y1], [x1, y0], [x1, y1]]
- count_contains ( sommets ) [source] #
Comptez le nombre de sommets contenus dans le
Bbox
. Tous les sommets avec une valeur x ou y non finie sont ignorés.- Paramètres :
- sommets Nx2 Tableau numpy.
- count_overlaps ( bboxes ) [source] #
Comptez le nombre de boîtes englobantes qui chevauchent celle-ci.
- Paramètres :
- bbox séquence de
BboxBase
- bbox séquence de
- développé ( sw , sh ) [source] #
Construire a
Bbox
en développant celui-ci autour de son centre par les facteurs sw et sh .
- gelé ( ) [source] #
La classe de base pour tout ce qui participe à l'arbre de transformation et doit invalider ses parents ou être invalidé. Cela inclut les classes qui ne sont pas vraiment des transformations, telles que les cadres de délimitation, car certaines transformations dépendent des cadres de délimitation pour calculer leurs valeurs.
- contient_entièrement ( x , y ) [source] #
Renvoie si est dans la boîte englobante, mais pas sur son bord.
x, y
- entièrement_overlaps ( autre ) [source] #
Indique si cette boîte englobante chevauche l'autre boîte englobante, sans compter les bords.
- Paramètres :
- autre
BboxBase
- autre
- hauteur de la propriété #
La hauteur (signée) de la boîte englobante.
- intersection statique ( bbox1 , bbox2 ) [source] #
Renvoie l'intersection de bbox1 et bbox2 si elles se croisent, ou None si ce n'est pas le cas.
- propriété intervallex #
La paire de coordonnées x qui définissent la boîte englobante.
Ce n'est pas garanti d'être trié de gauche à droite.
- intervalle de propriété #
La paire de coordonnées y qui définissent la zone de délimitation.
Ce n'est pas garanti d'être trié de bas en haut.
- est_affine = Vrai #
- is_bbox = Vrai #
- propriété max #
Le coin supérieur droit de la boîte englobante.
- propriété min #
Le coin inférieur gauche de la boîte englobante.
- chevauche ( autre ) [source] #
Indique si cette boîte englobante chevauche l'autre boîte englobante.
- Paramètres :
- autre
BboxBase
- autre
- propriété p0 #
La première paire de coordonnées ( x , y ) qui définissent la zone de délimitation.
Il n'est pas garanti que ce soit le coin inférieur gauche (pour cela, utilisez
min
).
- propriété p1 #
La deuxième paire de coordonnées ( x , y ) qui définissent la boîte englobante.
Il n'est pas garanti que ce soit le coin supérieur droit (pour cela, utilisez
max
).
- tourné ( radians ) [source] #
Renvoie la boîte englobante alignée sur les axes qui délimite le résultat de la rotation de this
Bbox
d'un angle de radians .
- rétréci ( mx , ma ) [source] #
Renvoie une copie de
Bbox
, réduite du facteur mx dans la direction x et du facteur my dans la direction y . Le coin inférieur gauche de la boîte reste inchangé. Normalement, mx et my seront inférieurs à 1, mais cela n'est pas appliqué.
- rétréci_à_aspect ( box_aspect , container = None , fig_aspect = 1.0 ) [source] #
Renvoie une copie du
Bbox
, réduite de sorte qu'elle soit aussi grande que possible tout en ayant le rapport d'aspect souhaité, box_aspect . Si les coordonnées de la boîte sont relatives (c'est-à-dire des fractions d'une boîte plus grande telle qu'une figure), alors le rapport d'aspect physique de cette figure est spécifié avec fig_aspect , de sorte que box_aspect peut également être donné comme un rapport des dimensions absolues, pas les dimensions relatives .
- taille de la propriété #
La largeur et la hauteur (signées) de la boîte englobante.
- splitx ( * arguments ) [source] #
Renvoie une liste de nouveaux
Bbox
objets formés en divisant l'original avec des lignes verticales à des positions fractionnaires données par args .
- fractionné ( * args ) [source] #
Renvoie une liste de nouveaux
Bbox
objets formés en divisant l'original avec des lignes horizontales à des positions fractionnaires données par args .
- transformé ( transformer ) [source] #
Construire a
Bbox
en transformant statiquement celui-ci par transform .
- propriété largeur #
La largeur (signée) de la boîte englobante.
- propriété x0 #
La première de la paire de coordonnées x qui définissent la zone de délimitation.
Il n'est pas garanti que ce soit inférieur à
x1
(pour cela, utilisezxmin
).
- propriété x1 #
La seconde de la paire de coordonnées x qui définissent la zone de délimitation.
Il n'est pas garanti que ce soit supérieur à
x0
(pour cela, utilisezxmax
).
- propriété xmax #
Le bord droit de la boîte englobante.
- propriété xmin #
Le bord gauche de la boîte englobante.
- propriété y0 #
La première de la paire de coordonnées y qui définissent la zone de délimitation.
Il n'est pas garanti que ce soit inférieur à
y1
(pour cela, utilisezymin
).
- propriété y1 #
La seconde de la paire de coordonnées y qui définissent la zone de délimitation.
Il n'est pas garanti que ce soit supérieur à
y0
(pour cela, utilisezymax
).
- propriété ymax #
Le bord supérieur de la boîte englobante.
- propriété ymin #
Le bord inférieur de la boîte englobante.
- classe matplotlib.transforms. BboxTransform ( boxin , boxout , ** kwargs ) [source] #
Socles :
Affine2DBase
BboxTransform
transforme linéairement les points de l'unBbox
à l'autre.Créez un nouveau
BboxTransform
qui transforme linéairement les points de boxin en boxout .- __annotations__ = {} #
- __init__ ( boxin , boxout , ** kwargs ) [source] #
Créez un nouveau
BboxTransform
qui transforme linéairement les points de boxin en boxout .
- __module__ = 'matplotlib.transforms' #
- is_separable = Vrai #
True si cette transformation est séparable dans les dimensions x et y.
- classe matplotlib.transforms. BboxTransformFrom ( boxin , ** kwargs ) [source] #
Socles :
Affine2DBase
BboxTransformFrom
transforme linéairement les points d'une donnéeBbox
à la boîte englobante de l'unité.- Paramètres :
- raccourci_name str
Une chaîne représentant le "nom" de la transformation. Le nom n'a aucune autre signification que d'améliorer la lisibilité
str(transform)
lorsque DEBUG=True.
- __annotations__ = {} #
- __init__ ( boxin , ** kwargs ) [source] #
- Paramètres :
- raccourci_name str
Une chaîne représentant le "nom" de la transformation. Le nom n'a aucune autre signification que d'améliorer la lisibilité
str(transform)
lorsque DEBUG=True.
- __module__ = 'matplotlib.transforms' #
- is_separable = Vrai #
True si cette transformation est séparable dans les dimensions x et y.
- classe matplotlib.transforms. BboxTransformTo ( boxout , ** kwargs ) [source] #
Socles :
Affine2DBase
BboxTransformTo
est une transformation qui transforme linéairement les points de la boîte englobante de l'unité en unBbox
.Créez un nouveau
BboxTransformTo
qui transforme linéairement les points de la boîte englobante de l'unité en boxout .- __annotations__ = {} #
- __init__ ( boxout , ** kwargs ) [source] #
Créez un nouveau
BboxTransformTo
qui transforme linéairement les points de la boîte englobante de l'unité en boxout .
- __module__ = 'matplotlib.transforms' #
- is_separable = Vrai #
True si cette transformation est séparable dans les dimensions x et y.
- classe matplotlib.transforms. BboxTransformToMaxOnly ( boxout , ** kwargs ) [source] #
Socles :
BboxTransformTo
BboxTransformTo
est une transformation qui transforme linéairement les points de la boîte englobante de l'unité en une donnéeBbox
avec un coin supérieur gauche fixe de (0, 0).Créez un nouveau
BboxTransformTo
qui transforme linéairement les points de la boîte englobante de l'unité en boxout .- __annotations__ = {} #
- __module__ = 'matplotlib.transforms' #
- classe matplotlib.transforms. BlendedAffine2D ( x_transform , y_transform , ** kwargs ) [source] #
Bases :
_BlendedMixin
,Affine2DBase
Une transformation "fusionnée" utilise une transformation pour la direction x et une autre transformation pour la direction y .
Cette version est une optimisation pour le cas où les deux transformations enfants sont de type
Affine2DBase
.Créez une nouvelle transformation "fusionnée" en utilisant x_transform pour transformer l' axe x et y_transform pour transformer l' axe y .
x_transform et y_transform doivent être des transformations affines 2D .
Vous n'appelerez généralement pas ce constructeur directement, mais utiliserez
blended_transform_factory
plutôt la fonction, qui peut déterminer automatiquement le type de transformation mélangée à créer.- __annotations__ = {} #
- __init__ ( x_transform , y_transform , ** kwargs ) [source] #
Créez une nouvelle transformation "fusionnée" en utilisant x_transform pour transformer l' axe x et y_transform pour transformer l' axe y .
x_transform et y_transform doivent être des transformations affines 2D .
Vous n'appelerez généralement pas ce constructeur directement, mais utiliserez
blended_transform_factory
plutôt la fonction, qui peut déterminer automatiquement le type de transformation mélangée à créer.
- __module__ = 'matplotlib.transforms' #
- is_separable = Vrai #
True si cette transformation est séparable dans les dimensions x et y.
- classe matplotlib.transforms. BlendedGenericTransform ( x_transform , y_transform , ** kwargs ) [source] #
Bases :
_BlendedMixin
,Transform
Une transformation "fusionnée" utilise une transformation pour la direction x et une autre transformation pour la direction y .
Cette version "générique" peut gérer n'importe quelle transformation enfant donnée dans les directions x et y .
Créez une nouvelle transformation "fusionnée" en utilisant x_transform pour transformer l' axe x et y_transform pour transformer l' axe y .
Vous n'appelerez généralement pas ce constructeur directement, mais utiliserez
blended_transform_factory
plutôt la fonction, qui peut déterminer automatiquement le type de transformation mélangée à créer.- __annotations__ = {} #
- __init__ ( x_transform , y_transform , ** kwargs ) [source] #
Créez une nouvelle transformation "fusionnée" en utilisant x_transform pour transformer l' axe x et y_transform pour transformer l' axe y .
Vous n'appelerez généralement pas ce constructeur directement, mais utiliserez
blended_transform_factory
plutôt la fonction, qui peut déterminer automatiquement le type de transformation mélangée à créer.
- __module__ = 'matplotlib.transforms' #
- contains_branch ( autre ) [source] #
Renvoie si la transformation donnée est un sous-arbre de cette transformation.
Cette routine utilise l'égalité de transformation pour identifier les sous-arbres, donc dans de nombreuses situations, c'est l'identifiant de l'objet qui sera utilisé.
Dans le cas où la transformation donnée représente l'intégralité de cette transformation, renvoie True.
- profondeur de propriété #
Renvoie le nombre de transformations qui ont été enchaînées pour former cette instance de Transform.
Noter
Pour le cas particulier d'une transformation Composite, la profondeur maximale des deux est renvoyée.
- gelé ( ) [source] #
Renvoie une copie figée de ce nœud de transformation. La copie gelée ne sera pas mise à jour lorsque ses enfants changeront. Utile pour stocker un état précédemment connu d'une transformation qui
copy.deepcopy()
pourrait normalement être utilisée.
- propriété has_inverse #
bool(x) -> bool
Renvoie True lorsque l'argument x est vrai, False sinon. Les commandes intégrées True et False sont les deux seules instances de la classe bool. La classe bool est une sous-classe de la classe int et ne peut pas être sous-classée.
- input_dims = 2 #
Le nombre de dimensions d'entrée de cette transformation. Doit être remplacé (avec des entiers) dans la sous-classe.
- inversé ( ) [source] #
Renvoie la transformation inverse correspondante.
Ça tient .
x == self.inverted().transform(self.transform(x))
La valeur de retour de cette méthode doit être traitée comme temporaire. Une mise à jour de soi ne provoque pas une mise à jour correspondante de sa copie inversée.
- la propriété est_affinée #
bool(x) -> bool
Renvoie True lorsque l'argument x est vrai, False sinon. Les commandes intégrées True et False sont les deux seules instances de la classe bool. La classe bool est une sous-classe de la classe int et ne peut pas être sous-classée.
- is_separable = Vrai #
True si cette transformation est séparable dans les dimensions x et y.
- output_dims = 2 #
Le nombre de dimensions de sortie de cette transformation. Doit être remplacé (avec des entiers) dans la sous-classe.
- pass_through = Vrai #
Si pass_through vaut True, tous les ancêtres seront toujours invalidés, même si 'self' est déjà invalide.
- transform_non_affine ( points ) [source] #
N'appliquez que la partie non affine de cette transformation.
transform(values)
est toujours équivalent àtransform_affine(transform_non_affine(values))
.Dans les transformations non affines, cela équivaut généralement à
transform(values)
. Dans les transformations affines, c'est toujours un no-op.- Paramètres :
- tableau de valeurs
Les valeurs d'entrée sous forme de tableau NumPy de longueur
input_dims
ou de forme (N xinput_dims
).
- Retours :
- déployer
Les valeurs de sortie sous forme de tableau NumPy de longueur
output_dims
ou de forme (N xoutput_dims
), selon l'entrée.
- classe matplotlib.transforms. CompositeAffine2D ( a , b , ** kwargs ) [source] #
Socles :
Affine2DBase
Une transformation composite formée en appliquant la transformation a puis la transformation b .
Cette version est une optimisation qui gère le cas où a et b sont des affines 2D.
Créez une nouvelle transformation composite résultant de l'application de a puis de b .
Affine2DBase
Affine2DBase
Vous n'appelerez généralement pas ce constructeur directement mais écrirez à la place, ce qui choisira automatiquement le meilleur type d'instance de transformation composite à créer.
a + b
- __annotations__ = {} #
- __init__ ( a , b , ** kwargs ) [source] #
Créez une nouvelle transformation composite résultant de l'application de a puis de b .
Affine2DBase
Affine2DBase
Vous n'appelerez généralement pas ce constructeur directement mais écrirez à la place, ce qui choisira automatiquement le meilleur type d'instance de transformation composite à créer.
a + b
- __module__ = 'matplotlib.transforms' #
- profondeur de propriété #
Renvoie le nombre de transformations qui ont été enchaînées pour former cette instance de Transform.
Noter
Pour le cas particulier d'une transformation Composite, la profondeur maximale des deux est renvoyée.
- classe matplotlib.transforms. CompositeGenericTransform ( a , b , ** kwargs ) [source] #
Socles :
Transform
Une transformation composite formée en appliquant la transformation a puis la transformation b .
Cette version "générique" peut gérer deux transformations arbitraires.
Créez une nouvelle transformation composite résultant de l'application de la transformation a puis de la transformation b .
Vous n'appelerez généralement pas ce constructeur directement mais écrirez à la place, ce qui choisira automatiquement le meilleur type d'instance de transformation composite à créer.
a + b
- __annotations__ = {} #
- __hash__ = Aucun #
- __init__ ( a , b , ** kwargs ) [source] #
Créez une nouvelle transformation composite résultant de l'application de la transformation a puis de la transformation b .
Vous n'appelerez généralement pas ce constructeur directement mais écrirez à la place, ce qui choisira automatiquement le meilleur type d'instance de transformation composite à créer.
a + b
- __module__ = 'matplotlib.transforms' #
- profondeur de propriété #
Renvoie le nombre de transformations qui ont été enchaînées pour former cette instance de Transform.
Noter
Pour le cas particulier d'une transformation Composite, la profondeur maximale des deux est renvoyée.
- gelé ( ) [source] #
Renvoie une copie figée de ce nœud de transformation. La copie gelée ne sera pas mise à jour lorsque ses enfants changeront. Utile pour stocker un état précédemment connu d'une transformation qui
copy.deepcopy()
pourrait normalement être utilisée.
- propriété has_inverse #
bool(x) -> bool
Renvoie True lorsque l'argument x est vrai, False sinon. Les commandes intégrées True et False sont les deux seules instances de la classe bool. La classe bool est une sous-classe de la classe int et ne peut pas être sous-classée.
- inversé ( ) [source] #
Renvoie la transformation inverse correspondante.
Ça tient .
x == self.inverted().transform(self.transform(x))
La valeur de retour de cette méthode doit être traitée comme temporaire. Une mise à jour de soi ne provoque pas une mise à jour correspondante de sa copie inversée.
- la propriété est_affinée #
bool(x) -> bool
Renvoie True lorsque l'argument x est vrai, False sinon. Les commandes intégrées True et False sont les deux seules instances de la classe bool. La classe bool est une sous-classe de la classe int et ne peut pas être sous-classée.
- la propriété est_séparable #
bool(x) -> bool
Renvoie True lorsque l'argument x est vrai, False sinon. Les commandes intégrées True et False sont les deux seules instances de la classe bool. La classe bool est une sous-classe de la classe int et ne peut pas être sous-classée.
- pass_through = Vrai #
Si pass_through vaut True, tous les ancêtres seront toujours invalidés, même si 'self' est déjà invalide.
- transform_affine ( points ) [source] #
Appliquez uniquement la partie affine de cette transformation sur le tableau de valeurs donné.
transform(values)
est toujours équivalent àtransform_affine(transform_non_affine(values))
.Dans les transformations non affines, il s'agit généralement d'un no-op. Dans les transformations affines, cela équivaut à
transform(values)
.- Paramètres :
- tableau de valeurs
Les valeurs d'entrée sous forme de tableau NumPy de longueur
input_dims
ou de forme (N xinput_dims
).
- Retours :
- déployer
Les valeurs de sortie sous forme de tableau NumPy de longueur
output_dims
ou de forme (N xoutput_dims
), selon l'entrée.
- transform_non_affine ( points ) [source] #
N'appliquez que la partie non affine de cette transformation.
transform(values)
est toujours équivalent àtransform_affine(transform_non_affine(values))
.Dans les transformations non affines, cela équivaut généralement à
transform(values)
. Dans les transformations affines, c'est toujours un no-op.- Paramètres :
- tableau de valeurs
Les valeurs d'entrée sous forme de tableau NumPy de longueur
input_dims
ou de forme (N xinput_dims
).
- Retours :
- déployer
Les valeurs de sortie sous forme de tableau NumPy de longueur
output_dims
ou de forme (N xoutput_dims
), selon l'entrée.
- classe matplotlib.transforms. IdentityTransform ( * args , ** kwargs ) [source] #
Socles :
Affine2DBase
Une classe spéciale qui fait une chose, la transformation de l'identité, de manière rapide.
- Paramètres :
- raccourci_name str
Une chaîne représentant le "nom" de la transformation. Le nom n'a aucune autre signification que d'améliorer la lisibilité
str(transform)
lorsque DEBUG=True.
- __annotations__ = {} #
- __module__ = 'matplotlib.transforms' #
- gelé ( ) [source] #
Renvoie une copie figée de ce nœud de transformation. La copie gelée ne sera pas mise à jour lorsque ses enfants changeront. Utile pour stocker un état précédemment connu d'une transformation qui
copy.deepcopy()
pourrait normalement être utilisée.
- inversé ( ) [source] #
Renvoie la transformation inverse correspondante.
Ça tient .
x == self.inverted().transform(self.transform(x))
La valeur de retour de cette méthode doit être traitée comme temporaire. Une mise à jour de soi ne provoque pas une mise à jour correspondante de sa copie inversée.
- transformer ( points ) [source] #
Appliquez cette transformation sur le tableau de valeurs donné .
- Paramètres :
- tableau de valeurs
Les valeurs d'entrée sous forme de tableau NumPy de longueur
input_dims
ou de forme (N xinput_dims
).
- Retours :
- déployer
Les valeurs de sortie sous forme de tableau NumPy de longueur
output_dims
ou de forme (N xoutput_dims
), selon l'entrée.
- transform_affine ( points ) [source] #
Appliquez uniquement la partie affine de cette transformation sur le tableau de valeurs donné.
transform(values)
est toujours équivalent àtransform_affine(transform_non_affine(values))
.Dans les transformations non affines, il s'agit généralement d'un no-op. Dans les transformations affines, cela équivaut à
transform(values)
.- Paramètres :
- tableau de valeurs
Les valeurs d'entrée sous forme de tableau NumPy de longueur
input_dims
ou de forme (N xinput_dims
).
- Retours :
- déployer
Les valeurs de sortie sous forme de tableau NumPy de longueur
output_dims
ou de forme (N xoutput_dims
), selon l'entrée.
- transform_non_affine ( points ) [source] #
N'appliquez que la partie non affine de cette transformation.
transform(values)
est toujours équivalent àtransform_affine(transform_non_affine(values))
.Dans les transformations non affines, cela équivaut généralement à
transform(values)
. Dans les transformations affines, c'est toujours un no-op.- Paramètres :
- tableau de valeurs
Les valeurs d'entrée sous forme de tableau NumPy de longueur
input_dims
ou de forme (N xinput_dims
).
- Retours :
- déployer
Les valeurs de sortie sous forme de tableau NumPy de longueur
output_dims
ou de forme (N xoutput_dims
), selon l'entrée.
- transform_path ( chemin ) [source] #
Appliquez la transformation à path , renvoyant un nouveau .
Path
Path
Dans certains cas, cette transformation peut insérer des courbes dans le chemin qui ont commencé par des segments de ligne.
- classe matplotlib.transforms. LockableBbox ( bbox , x0 = Aucun , y0 = Aucun , x1 = Aucun , y1 = Aucun , ** kwargs ) [source] #
Socles :
BboxBase
A
Bbox
où certains éléments peuvent être verrouillés à certaines valeurs.Lorsque la boîte englobante enfant change, les limites de cette bbox seront mises à jour en conséquence à l'exception des éléments verrouillés.
- Paramètres :
- bbox
Bbox
Boîte englobante enfant à envelopper.
- x0 flottant ou Aucun
La valeur verrouillée pour x0, ou None pour laisser déverrouillé.
- y0 flottant ou Aucun
La valeur verrouillée pour y0, ou None pour laisser déverrouillé.
- x1 flottant ou Aucun
La valeur verrouillée pour x1, ou Aucun pour laisser déverrouillé.
- y1 flottant ou Aucun
La valeur verrouillée pour y1, ou None pour laisser déverrouillé.
- bbox
- __annotations__ = {} #
- __init__ ( bbox , x0 = Aucun , y0 = Aucun , x1 = Aucun , y1 = Aucun , ** kwargs ) [source] #
- Paramètres :
- bbox
Bbox
Boîte englobante enfant à envelopper.
- x0 flottant ou Aucun
La valeur verrouillée pour x0, ou None pour laisser déverrouillé.
- y0 flottant ou Aucun
La valeur verrouillée pour y0, ou None pour laisser déverrouillé.
- x1 flottant ou Aucun
La valeur verrouillée pour x1, ou Aucun pour laisser déverrouillé.
- y1 flottant ou Aucun
La valeur verrouillée pour y1, ou None pour laisser déverrouillé.
- bbox
- __module__ = 'matplotlib.transforms' #
- propriété verrouillé_x0 #
float ou None : La valeur utilisée pour le x0 verrouillé.
- propriété verrouillé_x1 #
float ou None : La valeur utilisée pour le x1 verrouillé.
- propriété verrouillé_y0 #
float ou None : La valeur utilisée pour le y0 verrouillé.
- propriété verrouillé_y1 #
float ou None : La valeur utilisée pour le y1 verrouillé.
- classe matplotlib.transforms. ScaledTranslation ( xt , yt , scale_trans , ** kwargs ) [source] #
Socles :
Affine2DBase
Une transformation qui se traduit par xt et yt , après que xt et yt ont été transformés par scale_trans .
- Paramètres :
- raccourci_name str
Une chaîne représentant le "nom" de la transformation. Le nom n'a aucune autre signification que d'améliorer la lisibilité
str(transform)
lorsque DEBUG=True.
- __annotations__ = {} #
- __init__ ( xt , yt , scale_trans , ** kwargs ) [source] #
- Paramètres :
- raccourci_name str
Une chaîne représentant le "nom" de la transformation. Le nom n'a aucune autre signification que d'améliorer la lisibilité
str(transform)
lorsque DEBUG=True.
- __module__ = 'matplotlib.transforms' #
- classe matplotlib.transforms. Transformer ( shorthand_name = None ) [source] #
Socles :
TransformNode
La classe de base de toutes les
TransformNode
instances qui effectuent réellement une transformation.Toutes les transformations non affines doivent être des sous-classes de cette classe. Les nouvelles transformations affines doivent être des sous-classes de
Affine2D
.Les sous-classes de cette classe doivent remplacer les membres suivants (au minimum) :
inverted()
(si un inverse existe)
Les attributs suivants peuvent être remplacés si la valeur par défaut ne convient pas :
is_separable
(par défaut, True pour les transformations 1D -> 1D, False sinon)has_inverse
(par défaut, True siinverted()
est remplacé, False sinon)
Si la transformation doit faire quelque chose de non standard avec des
matplotlib.path.Path
objets, comme ajouter des courbes là où il y avait autrefois des segments de ligne, elle doit remplacer :- Paramètres :
- raccourci_name str
Une chaîne représentant le "nom" de la transformation. Le nom n'a aucune autre signification que d'améliorer la lisibilité
str(transform)
lorsque DEBUG=True.
- __add__ ( autre ) [source] #
Composez deux transformations ensemble de sorte que self soit suivi de other .
A + B
renvoie une transformation deC
sorte que .C.transform(x) == B.transform(A.transform(x))
- __annotations__ = {} #
- __array__ ( * args , ** kwargs ) [source] #
Interface de tableau pour accéder à la matrice affine de cette transformation.
- méthode de classe __init_subclass__ ( ) [ source] #
Cette méthode est appelée lorsqu'une classe est sous-classée.
L'implémentation par défaut ne fait rien. Il peut être remplacé pour étendre les sous-classes.
- __module__ = 'matplotlib.transforms' #
- __sub__ ( autre ) [source] #
Compose self avec l'inverse de other , en annulant les termes identiques s'il y en a :
# 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
L'annulation (plutôt que le retour naïf ) est importante pour plusieurs raisons :
A + B.inverted()
Il évite les inexactitudes en virgule flottante lors du calcul de l'inverse de B : est garanti pour s'annuler exactement (résultant en la transformée d'identité), alors qu'il peut différer d'un petit epsilon.
B - B
B + B.inverted()
B.inverted()
renvoie toujours une transformation gelée : si l'on calcule et mute plus tard , alors ne sera pas mis à jour et les deux derniers termes ne s'annuleront plus ; d'autre part, sera toujours égal à même si est muté.A + B + B.inverted()
B
B.inverted()
A + B - B
A
B
- contains_branch ( autre ) [source] #
Renvoie si la transformation donnée est un sous-arbre de cette transformation.
Cette routine utilise l'égalité de transformation pour identifier les sous-arbres, donc dans de nombreuses situations, c'est l'identifiant de l'objet qui sera utilisé.
Dans le cas où la transformation donnée représente l'intégralité de cette transformation, renvoie True.
- contains_branch_seperately ( other_transform ) [source] #
Indique si la branche donnée est un sous-arbre de cette transformation sur chaque dimension distincte.
Une utilisation courante de cette méthode consiste à identifier si une transformation est une transformation mixte contenant une transformation de données Axes. par exemple:
x_isdata, y_isdata = trans.contains_branch_seperately(ax.transData)
- profondeur de propriété #
Renvoie le nombre de transformations qui ont été enchaînées pour former cette instance de Transform.
Noter
Pour le cas particulier d'une transformation Composite, la profondeur maximale des deux est renvoyée.
- a_inverse = Faux #
True si cette transformation a une transformation inverse correspondante.
- input_dims = Aucun #
Le nombre de dimensions d'entrée de cette transformation. Doit être remplacé (avec des entiers) dans la sous-classe.
- inversé ( ) [source] #
Renvoie la transformation inverse correspondante.
Ça tient .
x == self.inverted().transform(self.transform(x))
La valeur de retour de cette méthode doit être traitée comme temporaire. Une mise à jour de soi ne provoque pas une mise à jour correspondante de sa copie inversée.
- is_separable = Faux #
True si cette transformation est séparable dans les dimensions x et y.
- output_dims = Aucun #
Le nombre de dimensions de sortie de cette transformation. Doit être remplacé (avec des entiers) dans la sous-classe.
- transformer ( valeurs ) [source] #
Appliquez cette transformation sur le tableau de valeurs donné .
- Paramètres :
- tableau de valeurs
Les valeurs d'entrée sous forme de tableau NumPy de longueur
input_dims
ou de forme (N xinput_dims
).
- Retours :
- déployer
Les valeurs de sortie sous forme de tableau NumPy de longueur
output_dims
ou de forme (N xoutput_dims
), selon l'entrée.
- transform_affine ( valeurs ) [source] #
Appliquez uniquement la partie affine de cette transformation sur le tableau de valeurs donné.
transform(values)
est toujours équivalent àtransform_affine(transform_non_affine(values))
.Dans les transformations non affines, il s'agit généralement d'un no-op. Dans les transformations affines, cela équivaut à
transform(values)
.- Paramètres :
- tableau de valeurs
Les valeurs d'entrée sous forme de tableau NumPy de longueur
input_dims
ou de forme (N xinput_dims
).
- Retours :
- déployer
Les valeurs de sortie sous forme de tableau NumPy de longueur
output_dims
ou de forme (N xoutput_dims
), selon l'entrée.
- transform_angles ( angles , pts , radians = False , pushoff = 1e-05 ) [source] #
Transformez un ensemble d'angles ancrés à des emplacements spécifiques.
- Paramètres :
- angles (N,)
Les angles à transformer.
- pts (N, 2) comme un tableau
Les points où les angles sont ancrés.
- radians booléen, par défaut : False
Que les angles soient en radians ou en degrés.
- flotteur de poussée
Pour chaque point en pts et angle en angles , l'angle transformé est calculé en transformant un segment de longueur pushoff commençant à ce point et en faisant cet angle par rapport à l'axe horizontal, et en mesurant l'angle entre l'axe horizontal et le segment transformé.
- Retours :
- (N,) tableau
- transform_bbox ( bbox ) [source] #
Transformez la boîte englobante donnée.
Pour des transformations plus intelligentes, y compris la mise en cache (une exigence courante dans Matplotlib), voir
TransformedBbox
.
- transform_non_affine ( valeurs ) [source] #
N'appliquez que la partie non affine de cette transformation.
transform(values)
est toujours équivalent àtransform_affine(transform_non_affine(values))
.Dans les transformations non affines, cela équivaut généralement à
transform(values)
. Dans les transformations affines, c'est toujours un no-op.- Paramètres :
- tableau de valeurs
Les valeurs d'entrée sous forme de tableau NumPy de longueur
input_dims
ou de forme (N xinput_dims
).
- Retours :
- déployer
Les valeurs de sortie sous forme de tableau NumPy de longueur
output_dims
ou de forme (N xoutput_dims
), selon l'entrée.
- transform_path ( chemin ) [source] #
Appliquez la transformation à path , renvoyant un nouveau .
Path
Path
Dans certains cas, cette transformation peut insérer des courbes dans le chemin qui ont commencé par des segments de ligne.
- transform_path_affine ( chemin ) [source] #
Appliquez la partie affine de cette transformation à path , renvoyant un nouveau .
Path
Path
transform_path(path)
est équivalent àtransform_path_affine(transform_path_non_affine(values))
.
- transform_path_non_affine ( chemin ) [source] #
Appliquez la partie non affine de cette transformation à path , renvoyant un nouveau .
Path
Path
transform_path(path)
est équivalent àtransform_path_affine(transform_path_non_affine(values))
.
- transform_point ( point ) [source] #
Renvoie un point transformé.
Cette fonction n'est conservée que pour la rétrocompatibilité ; la méthode plus générale
transform
est capable de transformer à la fois une liste de points et un seul point.Le point est donné comme une séquence de longueur
input_dims
. Le point transformé est renvoyé sous la forme d'une séquence de longueuroutput_dims
.
- classe matplotlib.transforms. TransformNode ( shorthand_name = None ) [source] #
Socles :
object
La classe de base pour tout ce qui participe à l'arbre de transformation et doit invalider ses parents ou être invalidé. Cela inclut les classes qui ne sont pas vraiment des transformations, telles que les cadres de délimitation, car certaines transformations dépendent des cadres de délimitation pour calculer leurs valeurs.
- Paramètres :
- raccourci_name str
Une chaîne représentant le "nom" de la transformation. Le nom n'a aucune autre signification que d'améliorer la lisibilité
str(transform)
lorsque DEBUG=True.
- INVALIDE = 3 #
- INVALID_AFFINE = 2 #
- INVALID_NON_AFFINE = 1 #
- __annotations__ = {} #
- __dict__ = mappingproxy({'__module__': 'matplotlib.transforms', '__doc__': '\n La classe de base pour tout ce qui participe à l' arbre de transformation\n et doit invalider ses parents ou être invalidé . Cela inclut \n les classes qui ne sont pas vraiment des transformations, telles que des cadres de délimitation , car certaines\n transformations dépendent de la délimitation boîtes pour calculer leurs valeurs.\n ', 'INVALID_NON_AFFINE' : 1, 'INVALID_AFFINE' : 2, 'INVALID' : 3, 'is_affine' : False, 'is_bbox' : False, 'pass_through' : False, '__init__' : <fonction TransformNode.__init__>, '__getstate__' : <fonction TransformNode.__getstate__>, '__setstate__' : <fonction TransformNode.__setstate__>, '__copy__' : <fonction TransformNode.__copy__>, 'invalidate' : <fonction TransformNode.invalidate>, '_invalidate_internal' : <fonction TransformNode._invalidate_internal>, 'set_children' : <fonction TransformNode.set_children>, 'frozen' : <fonction TransformNode.frozen>, '__dict__' : <attribut '__dict__' des objets 'TransformNode' >, '__weakref__' : < attribut '__weakref__' des objets 'TransformNode' >, '__annotations__' : {}}) #
- __init__ ( shorthand_name = None ) [source] #
- Paramètres :
- raccourci_name str
Une chaîne représentant le "nom" de la transformation. Le nom n'a aucune autre signification que d'améliorer la lisibilité
str(transform)
lorsque DEBUG=True.
- __module__ = 'matplotlib.transforms' #
- __weakref__ #
liste des références faibles à l'objet (si défini)
- gelé ( ) [source] #
Renvoie une copie figée de ce nœud de transformation. La copie gelée ne sera pas mise à jour lorsque ses enfants changeront. Utile pour stocker un état précédemment connu d'une transformation qui
copy.deepcopy()
pourrait normalement être utilisée.
- invalider ( ) [source] #
Invalide ceci
TransformNode
et déclenche une invalidation de ses ancêtres. Doit être appelée à chaque fois que la transformation change.
- est_affine = Faux #
- is_bbox = Faux #
- pass_through = Faux #
Si pass_through vaut True, tous les ancêtres seront toujours invalidés, même si 'self' est déjà invalide.
- classe matplotlib.transforms. TransformWrapper ( enfant ) [source] #
Socles :
Transform
Une classe d'assistance qui contient une seule transformation enfant et agit de manière équivalente.
Ceci est utile si un nœud de l'arbre de transformation doit être remplacé au moment de l'exécution par une transformation d'un type différent. Cette classe permet à ce remplacement de déclencher correctement l'invalidation.
TransformWrapper
les instances doivent avoir les mêmes dimensions d'entrée et de sortie pendant toute leur durée de vie, de sorte que la transformation enfant ne peut être remplacée que par une autre transformation enfant de mêmes dimensions.enfant : une
Transform
instance. Cet enfant pourra plus tard être remplacé parset()
.- __annotations__ = {} #
- __hash__ = Aucun #
- __init__ ( enfant ) [source] #
enfant : une
Transform
instance. Cet enfant pourra plus tard être remplacé parset()
.
- __module__ = 'matplotlib.transforms' #
- gelé ( ) [source] #
Renvoie une copie figée de ce nœud de transformation. La copie gelée ne sera pas mise à jour lorsque ses enfants changeront. Utile pour stocker un état précédemment connu d'une transformation qui
copy.deepcopy()
pourrait normalement être utilisée.
- propriété has_inverse #
bool(x) -> bool
Renvoie True lorsque l'argument x est vrai, False sinon. Les commandes intégrées True et False sont les deux seules instances de la classe bool. La classe bool est une sous-classe de la classe int et ne peut pas être sous-classée.
- la propriété est_affinée #
bool(x) -> bool
Renvoie True lorsque l'argument x est vrai, False sinon. Les commandes intégrées True et False sont les deux seules instances de la classe bool. La classe bool est une sous-classe de la classe int et ne peut pas être sous-classée.
- la propriété est_séparable #
bool(x) -> bool
Renvoie True lorsque l'argument x est vrai, False sinon. Les commandes intégrées True et False sont les deux seules instances de la classe bool. La classe bool est une sous-classe de la classe int et ne peut pas être sous-classée.
- pass_through = Vrai #
Si pass_through vaut True, tous les ancêtres seront toujours invalidés, même si 'self' est déjà invalide.
- classe matplotlib.transforms. TransformedBbox ( bbox , transform , ** kwargs ) [source] #
Socles :
BboxBase
A
Bbox
qui est automatiquement transformé par une transformation donnée. Lorsque la boîte englobante ou la transformation de l'enfant change, les limites de cette bbox seront mises à jour en conséquence.- __annotations__ = {} #
- __module__ = 'matplotlib.transforms' #
- classe matplotlib.transforms. TransformedPatchPath ( patch ) [source] #
Socles :
TransformedPath
A
TransformedPatchPath
met en cache une copie transformée non affine du fichierPatch
. Cette copie en cache est automatiquement mise à jour lorsque la partie non affine de la transformation ou du correctif change.- Paramètres :
- correctif
Patch
- correctif
- __annotations__ = {} #
- __module__ = 'matplotlib.transforms' #
- classe matplotlib.transforms. TransformedPath ( chemin , transformation ) [source] #
Socles :
TransformNode
A
TransformedPath
met en cache une copie transformée non affine du fichierPath
. Cette copie en cache est automatiquement mise à jour lorsque la partie non affine de la transformation change.Noter
Les chemins sont considérés comme immuables par cette classe. Toute mise à jour des sommets/codes du chemin ne déclenchera pas de recalcul de transformation.
- __annotations__ = {} #
- __module__ = 'matplotlib.transforms' #
- get_fully_transformed_path ( ) [source] #
Renvoie une copie entièrement transformée du chemin enfant.
- get_transformed_path_and_affine ( ) [source] #
Renvoie une copie du chemin enfant, avec la partie non affine de la transformation déjà appliquée, ainsi que la partie affine du chemin nécessaire pour terminer la transformation.
- get_transformed_points_and_affine ( ) [source] #
Renvoie une copie du chemin enfant, avec la partie non affine de la transformation déjà appliquée, ainsi que la partie affine du chemin nécessaire pour terminer la transformation. Contrairement à
get_transformed_path_and_affine()
, aucune interpolation ne sera effectuée.
- matplotlib.transforms. blended_transform_factory ( x_transform , y_transform ) [source] #
Créez une nouvelle transformation "fusionnée" en utilisant x_transform pour transformer l' axe x et y_transform pour transformer l' axe y .
Une version plus rapide de la transformation mixte est renvoyée dans le cas où les deux transformations enfants sont affines.
- matplotlib.transforms. composite_transform_factory ( a , b ) [source] #
Créez une nouvelle transformation composite résultant de l'application de la transformation a puis de la transformation b.
Des versions raccourcies de la transformation mixte sont fournies pour le cas où les deux transformations enfants sont affines, ou l'une ou l'autre est la transformation d'identité.
Les transformations composites peuvent également être créées à l'aide de l'opérateur '+', par exemple :
c = a + b
- matplotlib.transforms. interval_contains ( intervalle , val ) [source] #
Vérifier, inclusivement, si un intervalle inclut une valeur donnée.
- Paramètres :
- intervalle (flottant, flottant)
Les extrémités de l'intervalle.
- val flotteur
La valeur à vérifier est comprise dans l'intervalle.
- Retours :
- bourdonner
Indique si val est dans l' intervalle .
- matplotlib.transforms. interval_contains_open ( intervalle , val ) [source] #
Vérifiez, à l'exclusion des points de terminaison, si un intervalle inclut une valeur donnée.
- Paramètres :
- intervalle (flottant, flottant)
Les extrémités de l'intervalle.
- val flotteur
La valeur à vérifier est comprise dans l'intervalle.
- Retours :
- bourdonner
Indique si val est dans l' intervalle .
- matplotlib.transforms. non singulier ( vmin , vmax , expander = 0.001 , tiny = 1e-15 , croissant = True ) [source] #
Modifiez les extrémités d'une plage selon vos besoins pour éviter les singularités.
- Paramètres :
- flottant vmin, vmax
Les points de terminaison initiaux.
- flotteur d' expansion , par défaut : 0,001
Montant fractionnaire par lequel vmin et vmax sont étendus si l'intervalle d'origine est trop petit, basé sur tiny .
- petit flottant, par défaut : 1e-15
Seuil pour le rapport de l'intervalle à la valeur absolue maximale de ses extrémités. Si l'intervalle est plus petit que cela, il sera élargi. Cette valeur doit être d'environ 1e-15 ou plus ; sinon l'intervalle s'approchera de la limite de résolution en double précision.
- booléen croissant , par défaut : True
Si True, échangez vmin , vmax si vmin > vmax .
- Retours :
- flottant vmin, vmax
Points de terminaison, étendus et/ou permutés si nécessaire. Si l'une des entrées est inf ou NaN, ou si les deux entrées sont 0 ou très proches de zéro, elle renvoie -expandeur , expandeur .
- matplotlib.transforms. offset_copy ( trans , fig = None , x = 0.0 , y = 0.0 , units = 'inches' ) [source] #
Renvoie une nouvelle transformation avec un décalage ajouté.
- Paramètres :
- sous-classe trans
Transform
Toute transformation à laquelle un décalage sera appliqué.
- fig
Figure
, par défaut : Aucun Chiffre actuel. Il peut être Aucun si les unités sont des « points ».
- x, y flottant, par défaut : 0,0
Le décalage à appliquer.
- unités {'pouces', 'points', 'points'}, par défaut : 'pouces'
Unités du décalage.
- sous-classe trans
- Retours :
Transform
sous-classeTransformer avec décalage appliqué.