matplotlib.sankey#
Modul zur Erstellung von Sankey-Diagrammen mit Matplotlib.
- class 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)[Quelle]#
Bases:
objectSankey-Diagramm.
Sankey-Diagramme sind eine spezielle Art von Flussdiagrammen, bei denen die Breite der Pfeile proportional zur Flussmenge dargestellt wird. Sie werden typischerweise verwendet, um Energie-, Material- oder Kostenübertragungen zwischen Prozessen zu visualisieren. Wikipedia (01.06.2011)
Erstellt eine neue Sankey-Instanz.
Die unten aufgeführten optionalen Argumente werden auf alle Unterdiagramme angewendet, um eine konsistente Ausrichtung und Formatierung zu gewährleisten.
Um ein komplexes Sankey-Diagramm zu zeichnen, erstellen Sie eine Instanz von
Sankey, indem Sie sie ohne jegliche kwargs aufrufen.sankey = Sankey()
Fügen Sie dann einfache Sankey-Unterdiagramme hinzu.
sankey.add() # 1 sankey.add() # 2 #... sankey.add() # n
Erstellen Sie schließlich das vollständige Diagramm.
sankey.finish()
Oder alternativ verketten Sie einfach diese Aufrufe.
Sankey().add().add... .add().finish()
- Andere Parameter:
- ax
Axes Achsen, auf denen die Daten geplottet werden sollen. Wenn ax nicht angegeben wird, werden neue Achsen erstellt.
- scalefloat
Skalierungsfaktor für die Flüsse. scale bestimmt die Breite der Pfade, um ein korrektes Layout beizubehalten. Derselbe Skalierungsfaktor wird auf alle Unterdiagramme angewendet. Der Wert sollte so gewählt werden, dass das Produkt aus Skalierung und der Summe der Eingaben ungefähr 1,0 ergibt (und das Produkt aus Skalierung und der Summe der Ausgaben ungefähr -1,0 ergibt).
- unitstr
Die physikalische Einheit, die den Flussmengen zugeordnet ist. Wenn unit None ist, werden keine der Mengen beschriftet.
- formatstr oder callable
Eine Python-Formatzeichenkette für Zahlen oder eine aufrufbare Funktion, die zum Beschriften der Flüsse mit ihren Mengen verwendet wird (d.h. eine Zahl mal einer Einheit, wobei die Einheit gegeben ist). Wenn eine Formatzeichenkette angegeben wird, lautet die Beschriftung
format % quantity. Wenn eine aufrufbare Funktion angegeben wird, wird sie mitquantityals Argument aufgerufen.- gapfloat
Abstand zwischen Pfaden, die oben oder unten unterbrochen/wegbrechen.
- radiusfloat
Innerer Radius der vertikalen Pfade.
- shoulderfloat
Größe der Schultern der Ausgabepfeile.
- offsetfloat
Textversatz (vom Einschnitt oder der Spitze des Pfeils).
- head_anglefloat
Winkel der Pfeilspitzen (und negativ davon der Winkel der Pfeilschäfte) in Grad.
- marginfloat
Minimaler Abstand zwischen den Sankey-Konturen und dem Rand des Plotbereichs.
- tolerancefloat
Akzeptable Obergrenze für den Betrag der Summe der Flüsse. Der Betrag der Summe der verbundenen Flüsse darf nicht größer als tolerance sein.
- **kwargs
Zusätzliche Schlüsselwortargumente werden an
addübergeben, womit das erste Unterdiagramm erstellt wird.
- ax
Siehe auch
Beispiele
- add(patchlabel='', flows=None, orientations=None, labels='', trunklength=1.0, pathlengths=0.25, prior=None, connect=(0, 0), rotation=0, **kwargs)[Quelle]#
Fügt ein einfaches Sankey-Diagramm mit Flüssen auf derselben hierarchischen Ebene hinzu.
- Parameter:
- patchlabelstr
Beschriftung, die in der Mitte des Diagramms platziert wird. Beachten Sie, dass label (nicht patchlabel) als Schlüsselwortargument übergeben werden kann, um einen Eintrag in der Legende zu erstellen.
- flowslist of float
Liste von Flusswerten. Konventionsgemäß sind Eingaben positiv und Ausgaben negativ.
Flüsse werden entlang der Oberseite des Diagramms von innen nach außen in der Reihenfolge ihres Indexes innerhalb von flows platziert. Sie werden entlang der Seiten des Diagramms von oben nach unten und entlang der Unterseite von außen nach innen platziert.
Wenn die Summe der Eingaben und Ausgaben ungleich Null ist, erscheint die Diskrepanz als kubische Bézierkurve entlang der Ober- und Unterkanten des Stamms.
- orientationslist of {-1, 0, 1}
Liste der Ausrichtungen der Flüsse (oder eine einzelne Ausrichtung, die für alle Flüsse verwendet werden soll). Gültige Werte sind 0 (Eingaben von links, Ausgaben nach rechts), 1 (von oben und nach oben) oder -1 (von unten und nach unten).
- labelslist of (str or None)
Liste der Beschriftungen für die Flüsse (oder eine einzelne Beschriftung, die für alle Flüsse verwendet werden soll). Jede Beschriftung kann None (keine Beschriftung) oder ein Beschriftungsstring sein. Wenn ein Eintrag ein (möglicherweise leerer) String ist, wird die Menge für den entsprechenden Fluss unter dem String angezeigt. Wenn jedoch die unit des Hauptdiagramms None ist, werden Mengen niemals angezeigt, unabhängig vom Wert dieses Arguments.
- trunklengthfloat
Länge zwischen den Basen der Eingabe- und Ausgabegruppen (in Datenraum-Einheiten).
- pathlengthslist of float
Liste der Längen der vertikalen Pfeile vor dem Einbruch oder nach dem Ausbruch. Wenn ein einzelner Wert angegeben wird, wird dieser auf die ersten (inneren) Pfade oben und unten angewendet, und die Länge aller anderen Pfeile wird entsprechend angepasst. Die pathlengths werden nicht auf die horizontalen Ein- und Ausgaben angewendet.
- priorint
Index des vorherigen Diagramms, mit dem dieses Diagramm verbunden werden soll.
- connect(int, int)
Ein (prior, this) Tupel, das den Fluss des vorherigen Diagramms und den Fluss dieses Diagramms indiziert, die verbunden werden sollen. Wenn dies das erste Diagramm ist oder prior None ist, wird connect ignoriert.
- rotationfloat
Drehwinkel des Diagramms in Grad. Die Interpretation des orientations-Arguments wird entsprechend gedreht (z.B. wenn rotation == 90, bedeutet ein orientations-Eintrag von 1 nach/von links). rotation wird ignoriert, wenn dieses Diagramm mit einem vorhandenen verbunden ist (unter Verwendung von prior und connect).
- Gibt zurück:
- Sankey
Die aktuelle
Sankey-Instanz.
- Andere Parameter:
- **kwargs
Zusätzliche Schlüsselwortargumente setzen
add-Eigenschaften, die unten aufgeführt sind. Man kann zum Beispielfill=Falseoderlabel="Ein Legenden-Eintrag"verwenden.Eigenschaft
Beschreibung
eine Filterfunktion, die ein (m, n, 3) Float-Array und einen dpi-Wert entgegennimmt und ein (m, n, 3) Array und zwei Offsets von der linken unteren Ecke des Bildes zurückgibt
unknown
bool
antialiasedoderaabool oder None
CapStyleoder {'butt', 'projecting', 'round'}BboxBaseoder Nonebool
Patch oder (Path, Transform) oder None
Farbe oder None
Farbe oder None
bool
str
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
unknown
bool
JoinStyleoder {'miter', 'round', 'bevel'}object
{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
float oder None
bool
liste von
AbstractPathEffectNone oder bool oder float oder callable
bool
(scale: float, length: float, randomness: float)
bool oder None
str
bool
float
Siehe auch
- finish()[Quelle]#
Passt die Achsen an und gibt eine Liste von Informationen über die Sankey-Unterdiagramme zurück.
Gibt eine Liste von Unterdiagrammen mit den folgenden Feldern zurück.
Feld
Beschreibung
patch
Sankey-Kontur (ein
PathPatch).flows
Flusswerte (positiv für Eingabe, negativ für Ausgabe).
angles
Liste der Winkel der Pfeile [Grad/90]. Wenn das Diagramm beispielsweise nicht gedreht wurde, hat eine Eingabe auf der Oberseite einen Winkel von 3 (UNTEN), und eine Ausgabe von der Oberseite hat einen Winkel von 1 (OBEN). Wenn ein Fluss übersprungen wurde (weil sein Betrag kleiner als tolerance ist), dann ist sein Winkel None.
tips
(N, 2)-Array der (x, y)-Positionen der Spitzen (oder "Einschnitte") der Flusswege. Wenn der Betrag eines Flusses kleiner als die tolerance dieser
Sankey-Instanz ist, wird der Fluss übersprungen und seine Spitze befindet sich in der Mitte des Diagramms.text
Text-Instanz für die Diagrammbeschriftung.texts
Liste von
Text-Instanzen für die Flussbeschriftungen.Siehe auch