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
Exception
paramètre unique. Il est appelé avec tout ce qui est déclenchéException
par les rappels pendantCallbackRegistry.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
process
ou d' accéderconnect
à un signal ne figurant pas dans la liste génère unValueError
. 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é.
- 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 dejoined()
, 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
- 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.
- 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.
- 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.
- maison ( ) [source] #
Poussez le premier élément sur le dessus de la pile.
Le premier élément est retourné.
- 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
True
et les données sont distribuées de sorte que les 25e et 75e centiles soient égaux,whis
est 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 :
Tableaux masqués 1-D
1-D ndarrays
ndarrays avec plus d'une dimension
autres itérables non-chaîne
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_data
ré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 unpandas.Series
), si cela échoue, utilisezrange(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.garbage
pour 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
N
points convertis en2N
points 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_out
N
2N
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
N
points 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_out
N
2N + 1
N=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
N
points, 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_out
N
2N + 1
N=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. 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.type
vaut 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_cm
la 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
str
ouos.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 mode
open
lorsque fname eststr
ouos.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 mode
open
lorsque fname eststr
ouos.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
Returns
section 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
violinplot
lieu 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.