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: object

Sankey-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:
axAxes

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 mit quantity als 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.

Beispiele

(Quellcode)

(2x.png, png)

(2x.png, png)

(2x.png, png)

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 Beispiel fill=False oder label="Ein Legenden-Eintrag" verwenden.

Eigenschaft

Beschreibung

agg_filter

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

alpha

unknown

animated

bool

antialiased oder aa

bool oder None

capstyle

CapStyle oder {'butt', 'projecting', 'round'}

clip_box

BboxBase oder None

clip_on

bool

clip_path

Patch oder (Path, Transform) oder None

color

color

edgecolor oder ec

Farbe oder None

facecolor oder fc

Farbe oder None

figure

Figure oder SubFigure

füllen

bool

gid

str

Muster (hatch)

{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}

hatch_linewidth

unknown

in_layout

bool

joinstyle

JoinStyle oder {'miter', 'round', 'bevel'}

label

object

linestyle oder ls

{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}

linewidth oder lw

float oder None

mouseover

bool

path_effects

liste von AbstractPathEffect

picker

None oder bool oder float oder callable

rasterized

bool

sketch_params

(scale: float, length: float, randomness: float)

snap

bool oder None

transform

Transform

url

str

visible

bool

zorder

float

Siehe auch

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

Sankey.add