matplotlib.sankey
#
Module de création de diagrammes Sankey à l'aide de Matplotlib.
- classe matplotlib.sankey. Sankey ( ax = None , scale = 1.0 , unit = '' , format = '%G' , gap = 0.25 , radius = 0.1 , shoulder = 0.03 , offset = 0.15 , head_angle = 100 , margin = 0.4 , tolerance = 1e- 06 , ** kwargs ) [source]#
Socles :
object
Diagramme de Sankey.
Les diagrammes de Sankey sont un type spécifique de diagramme de flux, dans lequel la largeur des flèches est indiquée proportionnellement à la quantité de flux. Ils sont généralement utilisés pour visualiser les transferts d'énergie, de matériaux ou de coûts entre les processus. Wikipédia (01/06/2011)
Créez une nouvelle instance de Sankey.
Les arguments facultatifs répertoriés ci-dessous sont appliqués à tous les sous-diagrammes afin d'assurer un alignement et un formatage cohérents.
Afin de dessiner un diagramme de Sankey complexe, créez une instance de
Sankey
en l'appelant sans aucun kwarg :sankey = Sankey()
Ajoutez ensuite des sous-diagrammes Sankey simples :
sankey.add() # 1 sankey.add() # 2 #... sankey.add() # n
Enfin, créez le diagramme complet :
sankey.finish()
Ou, à la place, connectez simplement ces appels en guirlande :
Sankey().add().add... .add().finish()
- Autres paramètres :
- hache
Axes
Axes sur lesquels les données doivent être tracées. Si ax n'est pas fourni, de nouveaux Axes seront créés.
- flotteur d'échelle
Facteur d'échelle pour les flux. scale dimensionne la largeur des chemins afin de maintenir une disposition correcte. La même échelle est appliquée à tous les sous-diagrammes. La valeur doit être choisie de sorte que le produit de l'échelle et de la somme des entrées soit d'environ 1,0 (et que le produit de l'échelle et de la somme des sorties soit d'environ -1,0).
- unité str
L'unité physique associée aux quantités de flux. Si l'unité est Aucune, aucune des quantités n'est étiquetée.
- format str ou appelable
Une chaîne de formatage numérique Python ou un appelable utilisé pour étiqueter les flux avec leurs quantités (c'est-à-dire, un nombre fois une unité, où l'unité est donnée). Si une chaîne de format est donnée, l'étiquette sera . Si un appelable est donné, il sera appelé avec comme argument.
format % quantity
quantity
- flotteur d' écart
Espace entre les chemins qui pénètrent/se détachent vers/du haut ou du bas.
- rayon flottant
Rayon intérieur des trajectoires verticales.
- flotteur d' épaule
Taille des épaules des flèches de sortie.
- flotteur décalé
Décalage du texte (à partir du creux ou de la pointe de la flèche).
- flotteur head_angle
Angle, en degrés, des têtes de flèches (et négatif de l'angle des queues).
- marge flottante
Espace minimum entre les contours de Sankey et le bord de la zone de tracé.
- flotteur de tolérance
Maximum acceptable de l'ampleur de la somme des flux. L'amplitude de la somme des flux connectés ne peut pas être supérieure à la tolérance .
- **kwargs
Tout argument de mot-clé supplémentaire sera transmis à
add()
, qui créera le premier sous-diagramme.
- hache
Voir également
Exemples
( Code source )
- add ( patchlabel = '' , flows = None , orientations = None , labels = '' , trunklength = 1.0 , pathlengths = 0.25 , prior = None , connect = (0, 0) , rotation = 0 , ** kwargs ) [source ] #
Ajoutez un diagramme Sankey simple avec des flux au même niveau hiérarchique.
- Paramètres :
- patchlabel str
Étiquette à placer au centre du schéma. Notez que label (pas patchlabel ) peut être passé comme argument de mot-clé pour créer une entrée dans la légende.
- liste des flux de float
Tableau de valeurs de débit. Par convention, les entrées sont positives et les sorties sont négatives.
Les flux sont placés en haut du diagramme de l'intérieur vers l'extérieur dans l'ordre de leur index dans les flux . Ils sont placés le long des côtés du diagramme de haut en bas et le long du bas de l'extérieur vers l'intérieur.
Si la somme des entrées et des sorties est différente de zéro, l'écart apparaîtra sous la forme d'une courbe de Bézier cubique le long des bords supérieur et inférieur du tronc.
- liste des orientations de {-1, 0, 1}
Liste des orientations des flux (ou une seule orientation à utiliser pour tous les flux). Les valeurs valides sont 0 (entrées depuis la gauche, sorties vers la droite), 1 (depuis et vers le haut) ou -1 (depuis et vers le bas).
- liste d' étiquettes de (str ou None)
Liste des libellés des flux (ou un seul libellé à utiliser pour tous les flux). Chaque étiquette peut être Aucune (aucune étiquette) ou une chaîne d'étiquetage. Si une entrée est une chaîne (éventuellement vide), la quantité pour le flux correspondant sera affichée sous la chaîne. Cependant, si l' unité du diagramme principal est Aucune, les quantités ne sont jamais affichées, quelle que soit la valeur de cet argument.
- flotteur de longueur de tronc
Longueur entre les bases des groupes d'entrée et de sortie (en unités d'espace de données).
- liste des longueurs de chemin de float
Liste des longueurs des flèches verticales avant effraction ou après effraction. Si une seule valeur est donnée, elle sera appliquée aux premiers chemins (intérieurs) en haut et en bas, et la longueur de toutes les autres flèches sera justifiée en conséquence. Les longueurs de trajet ne sont pas appliquées aux entrées et sorties horizontales.
- int antérieur
Index du diagramme précédent auquel ce diagramme doit être relié.
- connecter (entier, entier)
Un tuple (prior, this) indexant le flux du diagramme précédent et le flux de ce diagramme qui doit être connecté. S'il s'agit du premier diagramme ou si le précédent est None , connect sera ignoré.
- flotteur rotatif
Angle de rotation du diagramme en degrés. L'interprétation de l' argument orientations sera tournée en conséquence (par exemple, si rotation == 90, une entrée orientations de 1 signifie vers/depuis la gauche). la rotation est ignorée si ce diagramme est connecté à un diagramme existant (en utilisant prior et connect ).
- Retours :
- Sankey
L'
Sankey
instance actuelle.
- Autres paramètres :
- **kwargs
Des arguments de mots clés supplémentaires définissent les
matplotlib.patches.PathPatch
propriétés, répertoriées ci-dessous. Par exemple, on peut vouloir utiliserfill=False
ou .label="A legend entry"
Propriété
La description
une fonction de filtre, qui prend un tableau flottant (m, n, 3) et une valeur dpi, et renvoie un tableau (m, n, 3) et deux décalages à partir du coin inférieur gauche de l'image
inconnue
bourdonner
antialiased
ou aabooléen ou Aucun
CapStyle
ou {'bout', 'en saillie', 'rond'}bourdonner
Patch ou (chemin, transformation) ou aucun
Couleur
edgecolor
ou cecouleur ou Aucun
facecolor
ou FCcouleur ou Aucun
bourdonner
chaîne
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
bourdonner
JoinStyle
ou {'onglet', 'rond', 'biseau'}objet
linestyle
ou ls{'-', '--', '-.', ':', '', (décalage, on-off-seq), ...}
linewidth
ou lwflottant ou Aucun
bourdonner
Aucun ou bool ou flottant ou appelable
bourdonner
(échelle : flottant, longueur : flottant, caractère aléatoire : flottant)
booléen ou Aucun
chaîne
bourdonner
flotteur
Voir également
- terminer ( ) [source] #
Ajustez les axes et renvoyez une liste d'informations sur le(s) sous-diagramme(s) de Sankey.
La valeur de retour est une liste de sous-diagrammes représentés avec les champs suivants :
Champ
La description
correctif
Contour de Sankey (une instance de
PathPatch
)les flux
valeurs des débits (positif pour l'entrée, négatif pour la sortie)
angles
liste des angles des flèches [deg/90] Par exemple, si le diagramme n'a pas été tourné, une entrée vers le haut aura un angle de 3 (DOWN), et une sortie du haut aura un angle de 1 (HAUT). Si un flux a été ignoré (parce que sa magnitude est inférieure à tolérance ), son angle sera Aucun .
des astuces
tableau dans lequel chaque ligne est une paire [x, y] indiquant les positions des pointes (ou "creux") des chemins de flux Si l'amplitude d'un flux est inférieure à la tolérance pour l'instance de
Sankey
, le flux est ignoré et son pointe sera au centre du diagramme.texte
Text
instance pour l'étiquette du diagrammeles textes
liste des
Text
instances pour les libellés des fluxVoir également