matplotlib.transforms#

Diagramme d'héritage de 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' TransformNodeobjets 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 :

../_images/transforms.png

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' #
__str__ ( ) [source] #

Renvoie str(soi).

effacer ( ) [source] #

Réinitialisez la matrice sous-jacente à la transformation d'identité.

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 Affine2Dobjet qui est la transformation d'identité.

À moins que cette transformation ne soit mutée ultérieurement, envisagez IdentityTransformplutô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 Affine2DBaseobjet.

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.

to_values ​​( ) [source] #

Renvoie les valeurs de la matrice sous forme de tuple.(a, b, c, d, e, f)

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_dimsou de forme (N x input_dims).

Retours :
déployer

Les valeurs de sortie sous forme de tableau NumPy de longueur output_dimsou de forme (N x output_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.

__eq__ ( autre ) [source] #

Renvoie self==value.

__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' #
get_affine ( ) [source] #

Obtenez la partie affine de cette transformation.

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_dimsou de forme (N x input_dims).

Retours :
déployer

Les valeurs de sortie sous forme de tableau NumPy de longueur output_dimsou de forme (N x output_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_dimsou de forme (N x input_dims).

Retours :
déployer

Les valeurs de sortie sous forme de tableau NumPy de longueur output_dimsou de forme (N x output_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_dimsou de forme (N x input_dims).

Retours :
déployer

Les valeurs de sortie sous forme de tableau NumPy de longueur output_dimsou de forme (N x output_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)).

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 de Collections) : étant donné une transformée ttelle que , satisfait .t = AffineDeltaTransform(t) + offsetAffineDeltaTransformAffineDeltaTransform(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' #
__str__ ( ) [source] #

Renvoie str(soi).

get_matrix ( ) [source] #

Obtenez la matrice pour la partie affine de cette transformation.

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 ignoreexplicitement. Sinon, la valeur par défaut de ignorepeut être modifiée à tout moment par code avec accès à votre Bbox, par exemple en utilisant la méthode ignore.

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__ = {} #
__format__ ( fmt ) [source] #

Formateur d'objet par défaut.

__init__ ( points , ** kwargs ) [source] #
Paramètres :
points ndarray

Un tableau numpy 2x2 de la forme .[[x0, y0], [x1, y1]]

__module__ = 'matplotlib.transforms' #
__repr__ ( ) [source] #

Retour repr(soi).

__str__ ( ) [source] #

Renvoie str(soi).

limites de propriété #

Retour ( x0, y0, width, height).

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
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 .

muté ( ) [source] #

Retourne si la bbox a changé depuis init.

mutatedx ( ) [source] #

Retourne si les limites x ont changé depuis init.

muté ( ) [source] #

Retourne si les limites y ont changé depuis init.

statique null ( ) [source] #

Créez un nouveau null Bboxde (inf, inf) à (-inf, -inf).

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]]

unité statique ( ) [source] #

Créez une nouvelle unité Bboxde (0, 0) à (1, 1).

update_from_data_x ( x , ignore = None ) [source] #

Mettez à jour les limites x du Bboxen fonction des données transmises. Après la mise à jour, les bornes auront une largeur positive et x0 sera la valeur minimale.

Paramètres :
x ndarray

Tableau de valeurs x.

ignorer booléen, facultatif
  • Lorsque True, ignorez les limites existantes de Bbox.

  • Lorsque False, incluez les limites existantes de Bbox.

  • Lorsque None, utilisez la dernière valeur transmise à ignore().

update_from_data_xy ( xy , ignore = None , updatex = True , updatey = True ) [source] #

Mettez à jour les limites de Bboxen 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
  • Lorsque True, ignorez les limites existantes de Bbox.

  • Lorsque False, incluez les limites existantes de Bbox.

  • Lorsque None, utilisez la dernière valeur transmise à ignore().

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 Bboxen fonction des données transmises. Après la mise à jour, les limites auront une hauteur positive et y0 sera la valeur minimale.

Paramètres :
y ndarray

Tableau de valeurs y.

ignorer booléen, facultatif
  • Lorsque True, ignorez les limites existantes de Bbox.

  • Lorsque False, incluez les limites existantes de Bbox.

  • Lorsque None, utilisez la dernière valeur transmise à ignore().

update_from_path ( path , ignore = None , updatex = True , updatey = True ) [source] #

Mettez à jour les limites de Bboxpour 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 :
cheminPath
ignorer booléen, facultatif
  • quand True, ignorez les limites existantes de Bbox.

  • quand False, inclure les limites existantes de Bbox.

  • quand None, utilisez la dernière valeur transmise à ignore().

updatex, updatey bool, par défaut : True

Lorsque True, mettez à jour les valeurs x/y.

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, utilisez xmin).

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, utilisez xmax).

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, utilisez ymin).

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, utilisez ymax).

classe matplotlib.transforms. BboxBase ( shorthand_name = None ) [source] #

Socles :TransformNode

La classe de base de toutes les boîtes englobantes.

Cette classe est immuable ; Bboxest 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__ = {} #
__array__ ( * args , ** kwargs ) [source] #
__module__ = 'matplotlib.transforms' #
ancré ( c , conteneur = Aucun ) [source] #

Renvoie une copie de Bboxancré à 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 Bboxest positionné ; il est par défaut à l'initiale Bbox.

Voir également

Axes.set_anchor
limites de propriété #

Retour ( x0, y0, width, height).

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)} #
contient ( x , y ) [source] #

Renvoie si est dans la boîte englobante ou sur son bord.(x, y)

contientx ( x ) [source] #

Renvoie si x est dans l' intervalle fermé ( x0, ).x1

contienty ( y ) [source] #

Renvoie si y est dans l' intervalle fermé ( y0, ).y1

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 deBboxBase
développé ( sw , sh ) [source] #

Construire a Bboxen développant celui-ci autour de son centre par les facteurs sw et sh .

étendue de la propriété #

Retour ( x0, y0, x1, y1).

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_containsx ( x ) [source] #

Renvoie si x est dans l' intervalle ouvert ( x0, ).x1

entièrement_containsy ( y ) [source] #

Renvoie si y est dans l' intervalle ouvert ( y0, ).y1

entièrement_overlaps ( autre ) [source] #

Indique si cette boîte englobante chevauche l'autre boîte englobante, sans compter les bords.

Paramètres :
autreBboxBase
get_points ( ) [source] #
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 :
autreBboxBase
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).

rembourré ( p ) [source] #

Construire a Bboxen remplissant celui-ci sur les quatre côtés par p .

tourné ( radians ) [source] #

Renvoie la boîte englobante alignée sur les axes qui délimite le résultat de la rotation de this Bboxd'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 Bboxobjets 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 Bboxobjets formés en divisant l'original avec des lignes horizontales à des positions fractionnaires données par args .

transformé ( transformer ) [source] #

Construire a Bboxen transformant statiquement celui-ci par transform .

traduit ( tx , ty ) [source] #

Construire a Bboxen traduisant celui-ci par tx et ty .

union statique ( bboxes ) [source] #

Renvoie a Bboxqui contient toutes les bboxes données .

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, utilisez xmin).

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, utilisez xmax).

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, utilisez ymin).

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, utilisez ymax).

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

BboxTransformtransforme linéairement les points de l'un Bboxà l'autre.

Créez un nouveau BboxTransformqui transforme linéairement les points de boxin en boxout .

__annotations__ = {} #
__init__ ( boxin , boxout , ** kwargs ) [source] #

Créez un nouveau BboxTransformqui transforme linéairement les points de boxin en boxout .

__module__ = 'matplotlib.transforms' #
__str__ ( ) [source] #

Renvoie str(soi).

get_matrix ( ) [source] #

Obtenez la matrice pour la partie affine de cette transformation.

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

BboxTransformFromtransforme linéairement les points d'une donnée Bboxà 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' #
__str__ ( ) [source] #

Renvoie str(soi).

get_matrix ( ) [source] #

Obtenez la matrice pour la partie affine de cette transformation.

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

BboxTransformToest une transformation qui transforme linéairement les points de la boîte englobante de l'unité en un Bbox.

Créez un nouveau BboxTransformToqui transforme linéairement les points de la boîte englobante de l'unité en boxout .

__annotations__ = {} #
__init__ ( boxout , ** kwargs ) [source] #

Créez un nouveau BboxTransformToqui transforme linéairement les points de la boîte englobante de l'unité en boxout .

__module__ = 'matplotlib.transforms' #
__str__ ( ) [source] #

Renvoie str(soi).

get_matrix ( ) [source] #

Obtenez la matrice pour la partie affine de cette transformation.

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

BboxTransformToest une transformation qui transforme linéairement les points de la boîte englobante de l'unité en une donnée Bboxavec un coin supérieur gauche fixe de (0, 0).

Créez un nouveau BboxTransformToqui transforme linéairement les points de la boîte englobante de l'unité en boxout .

__annotations__ = {} #
__module__ = 'matplotlib.transforms' #
get_matrix ( ) [source] #

Obtenez la matrice pour la partie affine de cette transformation.

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_factoryplutô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_factoryplutôt la fonction, qui peut déterminer automatiquement le type de transformation mélangée à créer.

__module__ = 'matplotlib.transforms' #
get_matrix ( ) [source] #

Obtenez la matrice pour la partie affine de cette transformation.

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_factoryplutô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_factoryplutô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.

get_affine ( ) [source] #

Obtenez la partie affine de cette transformation.

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_dimsou de forme (N x input_dims).

Retours :
déployer

Les valeurs de sortie sous forme de tableau NumPy de longueur output_dimsou de forme (N x output_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' #
__str__ ( ) [source] #

Renvoie str(soi).

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.

get_matrix ( ) [source] #

Obtenez la matrice pour la partie affine de cette transformation.

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__ = {} #
__eq__ ( autre ) [source] #

Renvoie self==value.

__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' #
__str__ ( ) [source] #

Renvoie str(soi).

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.

get_affine ( ) [source] #

Obtenez la partie affine de cette transformation.

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_dimsou de forme (N x input_dims).

Retours :
déployer

Les valeurs de sortie sous forme de tableau NumPy de longueur output_dimsou de forme (N x output_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_dimsou de forme (N x input_dims).

Retours :
déployer

Les valeurs de sortie sous forme de tableau NumPy de longueur output_dimsou de forme (N x output_dims), selon l'entrée.

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)).

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' #
__str__ ( ) [source] #

Renvoie str(soi).

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.

get_affine ( ) [source] #

Obtenez la partie affine de cette transformation.

get_matrix ( ) [source] #

Obtenez la matrice pour la partie affine de cette transformation.

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_dimsou de forme (N x input_dims).

Retours :
déployer

Les valeurs de sortie sous forme de tableau NumPy de longueur output_dimsou de forme (N x output_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_dimsou de forme (N x input_dims).

Retours :
déployer

Les valeurs de sortie sous forme de tableau NumPy de longueur output_dimsou de forme (N x output_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_dimsou de forme (N x input_dims).

Retours :
déployer

Les valeurs de sortie sous forme de tableau NumPy de longueur output_dimsou de forme (N x output_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)).

classe matplotlib.transforms. LockableBbox ( bbox , x0 = Aucun , y0 = Aucun , x1 = Aucun , y1 = Aucun , ** kwargs ) [source] #

Socles :BboxBase

A Bboxoù 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 :
bboxBbox

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é.

__annotations__ = {} #
__init__ ( bbox , x0 = Aucun , y0 = Aucun , x1 = Aucun , y1 = Aucun , ** kwargs ) [source] #
Paramètres :
bboxBbox

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é.

__module__ = 'matplotlib.transforms' #
__str__ ( ) [source] #

Renvoie str(soi).

get_points ( ) [source] #
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' #
__str__ ( ) [source] #

Renvoie str(soi).

get_matrix ( ) [source] #

Obtenez la matrice pour la partie affine de cette transformation.

classe matplotlib.transforms. Transformer ( shorthand_name = None ) [source] #

Socles :TransformNode

La classe de base de toutes les TransformNodeinstances 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) :

Les attributs suivants peuvent être remplacés si la valeur par défaut ne convient pas :

Si la transformation doit faire quelque chose de non standard avec des matplotlib.path.Pathobjets, 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 + Brenvoie une transformation de Csorte 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 - BB + 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()BB.inverted()A + B - BAB

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.

get_affine ( ) [source] #

Obtenez la partie affine de cette transformation.

get_matrix ( ) [source] #

Obtenez la matrice pour la partie affine de cette transformation.

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_dimsou de forme (N x input_dims).

Retours :
déployer

Les valeurs de sortie sous forme de tableau NumPy de longueur output_dimsou de forme (N x output_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_dimsou de forme (N x input_dims).

Retours :
déployer

Les valeurs de sortie sous forme de tableau NumPy de longueur output_dimsou de forme (N x output_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_dimsou de forme (N x input_dims).

Retours :
déployer

Les valeurs de sortie sous forme de tableau NumPy de longueur output_dimsou de forme (N x output_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 transformest 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 longueur output_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__ = {} #
__copie__ ( ) [source] #
__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__' : {}}) #
__getstate__ ( ) [source] #
__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' #
__setstate__ ( data_dict ) [source] #
__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 TransformNodeet 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.

set_children ( * enfants ) [source] #

Définissez les enfants de la transformation pour que le système d'invalidation sache quelles transformations peuvent invalider cette transformation. Doit être appelé depuis le constructeur de toutes les transformations qui dépendent d'autres transformations.

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.

TransformWrapperles 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 Transforminstance. Cet enfant pourra plus tard être remplacé par set().

__annotations__ = {} #
__eq__ ( autre ) [source] #

Renvoie self==value.

__hash__ = Aucun #
__init__ ( enfant ) [source] #

enfant : une Transforminstance. Cet enfant pourra plus tard être remplacé par set().

__module__ = 'matplotlib.transforms' #
__str__ ( ) [source] #

Renvoie str(soi).

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.

ensemble ( enfant ) [source] #

Remplacez l'enfant actuel de cette transformation par un autre.

Le nouvel enfant doit avoir le même nombre de dimensions d'entrée et de sortie que l'enfant actuel.

classe matplotlib.transforms. TransformedBbox ( bbox , transform , ** kwargs ) [source] #

Socles :BboxBase

A Bboxqui 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.

Paramètres :
bboxBbox
transformerTransform
__annotations__ = {} #
__init__ ( bbox , transformer , ** kwargs ) [source] #
Paramètres :
bboxBbox
transformerTransform
__module__ = 'matplotlib.transforms' #
__str__ ( ) [source] #

Renvoie str(soi).

get_points ( ) [source] #
classe matplotlib.transforms. TransformedPatchPath ( patch ) [source] #

Socles :TransformedPath

A TransformedPatchPathmet en cache une copie transformée non affine du fichier Patch. Cette copie en cache est automatiquement mise à jour lorsque la partie non affine de la transformation ou du correctif change.

Paramètres :
correctifPatch
__annotations__ = {} #
__init__ ( correctif ) [source] #
Paramètres :
correctifPatch
__module__ = 'matplotlib.transforms' #
classe matplotlib.transforms. TransformedPath ( chemin , transformation ) [source] #

Socles :TransformNode

A TransformedPathmet en cache une copie transformée non affine du fichier Path. 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.

Paramètres :
cheminPath
transformerTransform
__annotations__ = {} #
__init__ ( chemin , transformation ) [source] #
Paramètres :
cheminPath
transformerTransform
__module__ = 'matplotlib.transforms' #
get_affine ( ) [source] #
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 transTransform

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.

Retours :
Transformsous-classe

Transformer avec décalage appliqué.