matplotlib.cbook#

Une collection de fonctions et de classes utilitaires. À l'origine, beaucoup (mais pas tous) provenaient du Python Cookbook - d'où le nom de cbook.

Ce module peut être importé en toute sécurité depuis n'importe où dans Matplotlib ; il importe Matplotlib uniquement au moment de l'exécution.

classe matplotlib.cbook. CallbackRegistry ( exception_handler=<function _exception_printer> , * , signaux=None ) [source] #

Socles :object

Gérer l'enregistrement, le traitement, le blocage et la déconnexion d'un ensemble de signaux et de rappels :

>>> def oneat(x):
...    print('eat', x)
>>> def ondrink(x):
...    print('drink', x)
>>> from matplotlib.cbook import CallbackRegistry
>>> callbacks = CallbackRegistry()
>>> id_eat = callbacks.connect('eat', oneat)
>>> id_drink = callbacks.connect('drink', ondrink)
>>> callbacks.process('drink', 123)
drink 123
>>> callbacks.process('eat', 456)
eat 456
>>> callbacks.process('be merry', 456)   # nothing will be called
>>> callbacks.disconnect(id_eat)
>>> callbacks.process('eat', 456)        # nothing will be called
>>> with callbacks.blocked(signal='drink'):
...     callbacks.process('drink', 123)  # nothing will be called
>>> callbacks.process('drink', 123)
drink 123

En pratique, il faut toujours déconnecter tous les rappels lorsqu'ils ne sont plus nécessaires pour éviter les références pendantes (et donc les fuites de mémoire). Cependant, le vrai code dans Matplotlib le fait rarement, et en raison de sa conception, il est plutôt difficile de placer ce type de code. Pour contourner ce problème et éviter cette classe de fuites de mémoire, nous stockons à la place les références faibles aux méthodes liées uniquement, de sorte que lorsque l'objet de destination doit mourir, le CallbackRegistry ne le maintiendra pas en vie.

Paramètres :
exception_handler appelable, facultatif

Si ce n'est pas None, exception_handler doit être une fonction qui prend un Exceptionparamètre unique. Il est appelé avec tout ce qui est déclenché Exception par les rappels pendant CallbackRegistry.process, et peut soit relancer l'exception, soit la gérer d'une autre manière.

Le gestionnaire par défaut imprime l'exception (avec traceback.print_exc) si une boucle d'événements interactive est en cours d'exécution ; il relance l'exception si aucune boucle d'événement interactive n'est en cours d'exécution.

liste des signaux , facultatif

Si ce n'est pas None, les signaux sont une liste de signaux que ce registre gère : tenter d'atteindre processou d' accéder connectà un signal ne figurant pas dans la liste génère un ValueError. La valeur par défaut, Aucun, ne limite pas les signaux traités.

bloqué ( * , signal = Aucun ) [source] #

Empêcher le traitement des signaux de rappel.

Un gestionnaire de contexte pour bloquer/désactiver temporairement le traitement des signaux de rappel par les auditeurs enregistrés.

Paramètres :
signal str, facultatif

Le signal de rappel à bloquer. La valeur par défaut est de bloquer tous les signaux.

connecter ( signal , fonction ) [source] #

Enregistrez la fonction à appeler lorsque le signal signal est généré.

déconnecter ( cid ) [source] #

Déconnectez le rappel enregistré avec l'ID de rappel cid .

Aucune erreur n'est générée si un tel rappel n'existe pas.

process ( s , * args , ** kwargs ) [source] #

Signal de processus s .

Toutes les fonctions enregistrées pour recevoir des rappels sur s seront appelées avec *argset **kwargs.

classe matplotlib.cbook. Groupeur ( init = () ) [source] #

Socles :object

Une structure de données d'ensembles disjoints.

Les objets peuvent être joints à l'aide join()de , testés pour la connectivité à l'aide de joined(), et tous les ensembles disjoints peuvent être récupérés en utilisant l'objet comme itérateur.

Les objets joints doivent être hachables et faiblement référençables.

Exemples

>>> from matplotlib.cbook import Grouper
>>> class Foo:
...     def __init__(self, s):
...         self.s = s
...     def __repr__(self):
...         return self.s
...
>>> a, b, c, d, e, f = [Foo(x) for x in 'abcdef']
>>> grp = Grouper()
>>> grp.join(a, b)
>>> grp.join(b, c)
>>> grp.join(d, e)
>>> list(grp)
[[a, b, c], [d, e]]
>>> grp.joined(a, b)
True
>>> grp.joined(a, c)
True
>>> grp.joined(a, d)
False
nettoyer ( ) [source] #

Nettoyez les références faibles mortes du dictionnaire.

get_siblings ( une ) [source] #

Renvoie tous les éléments joints par un , y compris lui-même.

join ( a , * args ) [source] #

Joignez les arguments donnés dans le même ensemble. Accepte un ou plusieurs arguments.

joint ( a , b ) [source] #

Renvoie si a et b sont membres du même ensemble.

supprimer ( une ) [source] #
classe matplotlib.cbook. GrouperView ( grouper ) [source] #

Socles :object

Vue immuable sur un Grouper.

nettoyer ( ) [source] #

[ Obsolète ] Nettoyez les références faibles mortes du dictionnaire.

Remarques

Obsolète depuis la version 3.6.

get_siblings ( une ) [source] #

Renvoie tous les éléments joints par un , y compris lui-même.

join ( a , * args ) [source] #

[ Obsolète ] Joignez les arguments donnés dans le même ensemble. Accepte un ou plusieurs arguments.

Remarques

Obsolète depuis la version 3.6.

joint ( a , b ) [source] #

Renvoie si a et b sont membres du même ensemble.

supprimer ( une ) [source] #

[ Obsolète ]

Remarques

Obsolète depuis la version 3.6 :

classe matplotlib.cbook. Pile ( par défaut = Aucun ) [source] #

Socles :object

Pile d'éléments avec un curseur mobile.

Imite home/back/forward dans un navigateur Web.

retour ( ) [source] #

Recule la position et retourne l'élément courant.

bulle ( o ) [source] #

Montez toutes les références de o au sommet de la pile et renvoyez-le.

Augmente :
Erreur de valeur

Si o n'est pas dans la pile.

effacer ( ) [source] #

Videz la pile.

vide ( ) [source] #

Retourne si la pile est vide.

avant ( ) [source] #

Déplacer la position vers l'avant et revenir à l'élément actuel.

maison ( ) [source] #

Poussez le premier élément sur le dessus de la pile.

Le premier élément est retourné.

pousser ( o ) [source] #

Appuyez sur o pour la pile à la position actuelle. Jetez tous les éléments ultérieurs.

o est retourné.

supprimer ( o ) [source] #

Retirez o de la pile.

Augmente :
Erreur de valeur

Si o n'est pas dans la pile.

matplotlib.cbook. boxplot_stats ( X , whis = 1.5 , bootstrap = None , labels = None , autorange = False ) [source] #

Renvoie une liste de dictionnaires de statistiques utilisés pour dessiner une série de diagrammes en boîte et à moustaches à l'aide de bxp.

Paramètres :
X comme un tableau

Données qui seront représentées dans les boxplots. Doit avoir 2 dimensions ou moins.

whis float ou (float, float), par défaut : 1.5

La position des moustaches.

S'il s'agit d'un flotteur, la moustache inférieure est à la référence la plus basse au-dessus de , et la moustache supérieure à la référence la plus élevée en dessous de , où Q1 et Q3 sont les premier et troisième quartiles. La valeur par défaut de correspond à la définition originale des boîtes à moustaches de Tukey.Q1 - whis*(Q3-Q1)Q3 + whis*(Q3-Q1)whis = 1.5

S'il s'agit d'une paire de flotteurs, ils indiquent les centiles auxquels dessiner les moustaches (par exemple, (5, 95)). En particulier, le réglage sur (0, 100) donne des moustaches couvrant toute la gamme des données.

Dans le cas limite où , whis est automatiquement défini sur (0, 100) (couvrir toute la plage de données) si la plage automatique est True.Q1 == Q3

Au-delà des moustaches, les données sont considérées comme des valeurs aberrantes et sont tracées sous forme de points individuels.

bootstrap int, facultatif

Nombre de fois où les intervalles de confiance autour de la médiane doivent être bootstrapés (méthode des centiles).

libellés de type tableau, facultatif

Libellés pour chaque jeu de données. La longueur doit être compatible avec les dimensions de X .

plage automatique booléen, facultatif (Faux)

Lorsque Trueet les données sont distribuées de sorte que les 25e et 75e centiles soient égaux, whisest défini sur (0, 100) de sorte que les extrémités des moustaches soient au minimum et au maximum des données.

Retours :
liste de dict

Une liste de dictionnaires contenant les résultats pour chaque colonne de données. Les clés de chaque dictionnaire sont les suivantes :

Clé

Description de la valeur

étiquette

cocher l'étiquette pour la boîte à moustaches

moyenne

moyenne arithmétique

médical

50e centile

q1

premier quartile (25e centile)

q3

troisième quartile (75e centile)

iqr

gamme interquartile

cilo

encoche inférieure autour de la médiane

cihi

encoche supérieure autour de la médiane

whislo

bout de la moustache inférieure

whishi

bout de la moustache supérieure

dépliants

valeurs aberrantes

Remarques

L'approche non bootstrap de l'intervalle de confiance utilise une approximation asymptotique basée sur Gauss :

\[\mathrm{med} \pm 1.57 \times \frac{\mathrm{iqr}}{\sqrt{N}}\]

Approche générale de : McGill, R., Tukey, JW et Larsen, WA (1978) "Variations of Boxplots", The American Statistician, 32:12-16.

matplotlib.cbook. régions_contiguës ( masque ) [source] #

Renvoie une liste de (ind0, ind1) telle que mask[ind0:ind1].all()Vrai et nous couvrons toutes ces régions.

matplotlib.cbook. delete_masked_points ( * args ) [source] #

Trouver tous les points masqués et/ou non finis dans un ensemble d'arguments et renvoyer les arguments avec uniquement les points non masqués restants.

Les arguments peuvent appartenir à l'une des 5 catégories suivantes :

  1. Tableaux masqués 1-D

  2. 1-D ndarrays

  3. ndarrays avec plus d'une dimension

  4. autres itérables non-chaîne

  5. rien d'autre

Le premier argument doit appartenir à l'une des quatre premières catégories ; tout argument d'une longueur différente de celle du premier argument (et donc tout élément de la catégorie 5) sera alors transmis tel quel.

Les masques sont obtenus à partir de tous les arguments de longueur correcte dans les catégories 1, 2 et 4 ; un point est mauvais s'il est masqué dans un tableau masqué ou s'il s'agit d'un nan ou d'un inf. Aucune tentative n'est faite pour extraire un masque des catégories 2, 3 et 4 s'il numpy.isfinite ne produit pas de tableau booléen.

Tous les arguments d'entrée qui ne sont pas passés tels quels sont renvoyés sous forme de ndarrays après la suppression des points ou des lignes correspondant aux masques dans l'un des arguments.

Une version beaucoup plus simple de cette fonction a été écrite à l'origine comme une aide pour Axes.scatter().

matplotlib.cbook. file_requires_unicode ( x ) [source] #

Renvoie si l'objet de type fichier inscriptible donné nécessite l'écriture d'Unicode.

matplotlib.cbook. aplatir ( seq , scalarp=<function is_scalar_or_string> ) [source] #

Renvoie un générateur de conteneurs imbriqués aplatis.

Par exemple:

>>> from matplotlib.cbook import flatten
>>> l = (('John', ['Hunter']), (1, 23), [[([42, (5, 23)], )]])
>>> print(list(flatten(l)))
['John', 'Hunter', 1, 23, 42, 5, 23]

Par : Composite de Holger Krekel et Luther Blissett De : https://code.activestate.com/recipes/121294/ et la recette 1.12 dans le livre de cuisine

matplotlib.cbook. get_sample_data ( fname , asfileobj = True , * , np_load = False ) [source] #

Renvoyez un exemple de fichier de données. fname est un chemin relatif au mpl-data/sample_datarépertoire. Si asfileobjTrue renvoie un objet fichier, sinon juste un chemin de fichier .

Les exemples de fichiers de données sont stockés dans le répertoire 'mpl-data/sample_data' du package Matplotlib.

Si le nom de fichier se termine par .gz, le fichier est implicitement décompressé. Si le nom de fichier se termine par .npy ou .npz, asfileobj est True et np_load est True, le fichier est chargé avec numpy.load. np_load est actuellement par défaut sur False mais sera par défaut sur True dans une future version.

matplotlib.cbook. index_of ( y ) [source] #

Une fonction d'assistance pour créer des valeurs x raisonnables pour le y donné .

Ceci est utilisé pour tracer (x, y) si les valeurs de x ne sont pas explicitement données.

Essayez d'abord y.index(en supposant que y est un pandas.Series), si cela échoue, utilisez range(len(y)).

Cela sera étendu à l'avenir pour traiter davantage de types de données étiquetées.

Paramètres :
y flottant ou semblable à un tableau
Retours :
x, y ndarray

Les valeurs x et y à tracer.

matplotlib.cbook. is_math_text ( s ) [source] #

Indique si la chaîne s contient des expressions mathématiques.

Cela se fait en vérifiant si s contient un nombre pair de signes dollar non échappés.

matplotlib.cbook. is_scalar_or_string ( val ) [source] #

Renvoie si l'objet donné est un scalaire ou une chaîne de caractères.

matplotlib.cbook. is_writable_file_like ( obj ) [source] #

Renvoie si obj ressemble à un objet fichier avec une méthode d' écriture .

matplotlib.cbook. ls_mapper = {'-': 'solid', '--': 'dashed', '-.': 'dashdot', ':': 'dotted'} #

Associe les codes courts pour le style de ligne à leur nom complet utilisé par les backends.

matplotlib.cbook. ls_mapper_r = {'dashdot' : '-.', 'dashed' : '--', 'dotted' : ':', 'solid' : '-'} #

Associe les noms complets des styles de ligne utilisés par les backends à leurs codes abrégés.

classe matplotlib.cbook. maxdict ( maxsize ) [source] #

Socles :dict

[ Obsolète ] Un dictionnaire avec une taille maximale.

Remarques

Cela ne remplace pas toutes les méthodes pertinentes pour limiter la taille, juste __setitem__, donc utilisez-les avec prudence.

Obsolète depuis la version 3.6 : utilisez plutôt functools.lru_cache.

matplotlib.cbook. normalize_kwargs ( kw , alias_mapping = None ) [source] #

Fonction d'assistance pour normaliser les entrées kwarg.

Paramètres :
kw dict ou Aucun

Un dictionnaire d'arguments de mots-clés. None est explicitement pris en charge et traité comme un dict vide, pour prendre en charge les fonctions avec un paramètre facultatif de la forme props=None.

alias_mapping dict ou sous-classe Artist ou instance Artist, facultatif

Un mappage entre un nom canonique et une liste d'alias, par ordre de priorité du plus bas au plus élevé.

Si la valeur canonique ne figure pas dans la liste, elle est supposée avoir la priorité la plus élevée.

Si une sous-classe ou une instance Artist est transmise, utilisez son mappage d'alias de propriétés.

Augmente :
Erreur-type

Pour correspondre à ce que Python lève si des arguments/mots-clés invalides sont passés à un callable.

matplotlib.cbook. open_file_cm ( path_or_file , mode = 'r' , encoding = None ) [source] #

Passez à travers les objets de fichier et gérez les chemins d'accès contextuels.

matplotlib.cbook. print_cycles ( objets , outstream=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'> , show_progress=False ) [source] #

Imprimer des boucles de références cycliques dans les objets donnés .

Il est souvent utile de passer gc.garbagepour trouver les cycles qui empêchent certains objets d'être ramassés.

Paramètres :
objets

Une liste d'objets dans lesquels rechercher des cycles.

en amont

Flux de sortie.

show_progress booléen

Si True, affiche le nombre d'objets atteints au fur et à mesure qu'ils sont trouvés.

matplotlib.cbook. pts_to_midstep ( x , * args ) [source] #

Convertissez une ligne continue en étapes intermédiaires.

Étant donné un ensemble de Npoints convertis en 2Npoints qui, lorsqu'ils sont connectés linéairement, donnent une fonction en escalier qui change de valeur au milieu des intervalles.

Paramètres :
x tableau

L'emplacement x des étapes. Peut être vide.

tableau y1, ..., yp

y tableaux à transformer en étapes ; tous doivent avoir la même longueur que x.

Retours :
déployer

Les valeurs x et y converties en étapes dans le même ordre que l'entrée ; peut être décompressé en tant que . Si l'entrée est length , chacun de ces tableaux sera length .x_out, y1_out, ..., yp_outN2N

Exemples

>>> x_s, y1_s, y2_s = pts_to_midstep(x, y1, y2)
matplotlib.cbook. pts_to_poststep ( x , * args ) [source] #

Convertir la ligne continue en post-étapes.

Étant donné un ensemble de Npoints convertis en points, qui, lorsqu'ils sont connectés linéairement, donnent une fonction en escalier qui change les valeurs à la fin des intervalles.2N + 1

Paramètres :
x tableau

L'emplacement x des étapes. Peut être vide.

tableau y1, ..., yp

y tableaux à transformer en étapes ; tous doivent avoir la même longueur que x.

Retours :
déployer

Les valeurs x et y converties en étapes dans le même ordre que l'entrée ; peut être décompressé en tant que . Si l'entrée est length , chacun de ces tableaux sera length . Pour , la longueur sera de 0.x_out, y1_out, ..., yp_outN2N + 1N=0

Exemples

>>> x_s, y1_s, y2_s = pts_to_poststep(x, y1, y2)
matplotlib.cbook. pts_to_prestep ( x , * args ) [source] #

Convertir la ligne continue en pré-étapes.

Étant donné un ensemble de Npoints, convertir en points qui, lorsqu'ils sont connectés linéairement, donnent une fonction en escalier qui change les valeurs au début des intervalles.2N - 1

Paramètres :
x tableau

L'emplacement x des étapes. Peut être vide.

tableau y1, ..., yp

y tableaux à transformer en étapes ; tous doivent avoir la même longueur que x.

Retours :
déployer

Les valeurs x et y converties en étapes dans le même ordre que l'entrée ; peut être décompressé en tant que . Si l'entrée est length , chacun de ces tableaux sera length . Pour , la longueur sera de 0.x_out, y1_out, ..., yp_outN2N + 1N=0

Exemples

>>> x_s, y1_s, y2_s = pts_to_prestep(x, y1, y2)
matplotlib.cbook. report_memory ( je = 0 ) [source] #

[ Obsolète ] Renvoie la mémoire consommée par le processus.

Remarques

Obsolète depuis la version 3.5 : utilisez psutil.virtual_memory à la place.

matplotlib.cbook. safe_first_element ( obj ) [source] #

Renvoie le premier élément dans obj .

Il s'agit d'une manière indépendante du type d'obtenir le premier élément, prenant en charge à la fois l'accès à l'index et le protocole d'itération.

matplotlib.cbook. safe_masked_invalid ( x , copie = False ) [source] #
matplotlib.cbook. sanitize_sequence ( données ) [source] #

Convertir les objets dictview en liste. Les autres entrées sont retournées inchangées.

classe matplotlib.cbook. liste_silencieuse ( type , seq = Aucun ) [source] #

Socles :list

Une liste avec un court repr().

Ceci est destiné à être utilisé pour une liste homogène d'artistes, afin qu'ils ne provoquent pas une sortie longue et dénuée de sens.

À la place de

[<matplotlib.lines.Line2D object at 0x7f5749fed3c8>,
 <matplotlib.lines.Line2D object at 0x7f5749fed4e0>,
 <matplotlib.lines.Line2D object at 0x7f5758016550>]

on obtiendra

<a list of 3 Line2D objects>

Si self.typevaut Aucun, le nom du type est obtenu à partir du premier élément de la liste (le cas échéant).

matplotlib.cbook. simple_linear_interpolation ( a , étapes ) [source] #

Rééchantillonnez un tableau avec des points entre les paires de points d'origine.steps - 1

Le long de chaque colonne de a , des points sont introduits entre chaque valeur d'origine ; les valeurs sont interpolées linéairement.(steps - 1)

Paramètres :
un tableau, forme (n, ...)
pas à pas
Retours :
déployer

forme((n - 1) * steps + 1, ...)

matplotlib.cbook. strip_math ( s ) [source] #

Supprimer le formatage latex de mathtext.

Ne gère que les chaînes entièrement mathématiques et entièrement non mathématiques.

matplotlib.cbook. to_filehandle ( fname , flag = 'r' , return_opened = False , encoding = None ) [source] #

Convertissez un chemin en un descripteur de fichier ouvert ou passez par un objet de type fichier.

Envisagez d'utiliser à open_file_cmla place, car cela permet de fermer correctement plus facilement les objets de fichier nouvellement créés.

Paramètres :
fname str ou comme un chemin ou comme un fichier

Si strou os.PathLike, le fichier est ouvert en utilisant les drapeaux spécifiés par flag et encoding . S'il s'agit d'un objet de type fichier, il est transmis.

flag str, par défaut : 'r'

Passé comme argument de modeopen lorsque fname est strou os.PathLike ; ignoré si fname ressemble à un fichier.

return_opened bool, par défaut : False

Si True, renvoie à la fois l'objet file et un booléen indiquant s'il s'agit d'un nouveau fichier (que l'appelant doit fermer). Si False, renvoie uniquement le nouveau fichier.

encoding str ou None, par défaut : None

Passé comme argument de modeopen lorsque fname est strou os.PathLike ; ignoré si fname ressemble à un fichier.

Retours :
fh semblable à un fichier
ouvert booléen

open n'est renvoyé que si return_opened vaut True.

matplotlib.cbook. violon_stats ( X , method , points = 100 , quantiles = None ) [source] #

Renvoie une liste de dictionnaires de données qui peuvent être utilisés pour dessiner une série de tracés de violon.

Voir la Returnssection ci-dessous pour afficher les clés requises du dictionnaire.

Les utilisateurs peuvent ignorer cette fonction et transmettre un ensemble de dictionnaires définis par l'utilisateur avec les mêmes clés au violinplotlieu d'utiliser Matplotlib pour effectuer les calculs. Voir la section Retours ci-dessous pour les clés qui doivent être présentes dans les dictionnaires.

Paramètres :
X comme un tableau

Exemples de données qui seront utilisées pour produire les estimations de densité du noyau gaussien. Doit avoir 2 dimensions ou moins.

méthode appelable

La méthode utilisée pour calculer l'estimation de la densité du noyau pour chaque colonne de données. Lorsqu'il est appelé via , il doit renvoyer un vecteur des valeurs du KDE évalué aux valeurs spécifiées dans coords.method(v, coords)

points entiers, par défaut : 100

Définit le nombre de points pour évaluer chacune des estimations de densité de noyau gaussien.

quantiles de type tableau, par défaut : aucun

Définit (si ce n'est pas Aucun) une liste de flottants dans l'intervalle [0, 1] pour chaque colonne de données, qui représente les quantiles qui seront rendus pour cette colonne de données. Doit avoir 2 dimensions ou moins. Le tableau 1D sera traité comme une liste singleton les contenant.

Retours :
liste de dict

Une liste de dictionnaires contenant les résultats pour chaque colonne de données. Les dictionnaires contiennent au moins les éléments suivants :

  • coords : une liste de scalaires contenant les coordonnées auxquelles cette estimation particulière de la densité du noyau a été évaluée.

  • vals : une liste de scalaires contenant les valeurs de l'estimation de la densité du noyau à chacune des coordonnées données dans coords .

  • moyenne : La valeur moyenne pour cette colonne de données.

  • median : la valeur médiane de cette colonne de données.

  • min : la valeur minimale pour cette colonne de données.

  • max : la valeur maximale pour cette colonne de données.

  • quantiles : les valeurs de quantiles pour cette colonne de données.