matplotlib.sankey
#
Modulo per la creazione di diagrammi di Sankey utilizzando 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 ) [fonte]#
Basi:
object
Diagramma di Sankey.
I diagrammi di Sankey sono un tipo specifico di diagramma di flusso, in cui la larghezza delle frecce è mostrata proporzionalmente alla quantità di flusso. Sono generalmente utilizzati per visualizzare i trasferimenti di energia o materiale o di costi tra i processi. Wikipedia (6/1/2011)
Crea una nuova istanza Sankey.
Gli argomenti facoltativi elencati di seguito vengono applicati a tutti i diagrammi secondari in modo che l'allineamento e la formattazione siano coerenti.
Per disegnare un diagramma di Sankey complesso, crea un'istanza di
Sankey
chiamandolo senza alcun kwargs:sankey = Sankey()
Quindi aggiungi semplici sottodiagrammi Sankey:
sankey.add() # 1 sankey.add() # 2 #... sankey.add() # n
Infine, crea il diagramma completo:
sankey.finish()
O, invece, semplicemente collega a margherita quelle chiamate:
Sankey().add().add... .add().finish()
- Altri parametri :
- ascia
Axes
Assi su cui devono essere tracciati i dati. Se ax non viene fornito, verranno creati nuovi assi.
- galleggiante in scala
Fattore di scala per i flussi. scale dimensiona la larghezza dei percorsi per mantenere un layout corretto. La stessa scala viene applicata a tutti i sottodiagrammi. Il valore deve essere scelto in modo tale che il prodotto della scala e la somma degli input sia approssimativamente 1,0 (e il prodotto della scala e la somma delle uscite sia approssimativamente -1,0).
- unità str
L'unità fisica associata alle quantità di flusso. Se l' unità è None, nessuna delle quantità viene etichettata.
- formato str o richiamabile
Una stringa di formattazione numerica Python o un callable utilizzato per etichettare i flussi con le loro quantità (ovvero, un numero moltiplicato per un'unità, dove l'unità è data). Se viene fornita una stringa di formato, l'etichetta sarà . Se viene fornito un callable, verrà chiamato come argomento.
format % quantity
quantity
- galleggiante del divario
Spazio tra percorsi che si introducono/si allontanano da/verso l'alto o il basso.
- raggio galleggiante
Raggio interno dei percorsi verticali.
- galleggiamento della spalla
Dimensione delle spalle delle frecce di uscita.
- galleggiante sfalsato
Offset del testo (dall'inclinazione o dalla punta della freccia).
- head_angle float
Angolo, in gradi, delle punte delle frecce (e negativo dell'angolo delle code).
- margine flottante
Spazio minimo tra i contorni di Sankey e il bordo dell'area del tracciato.
- galleggiante di tolleranza
Massimo accettabile della grandezza della somma dei flussi. L'entità della somma dei flussi connessi non può essere maggiore della tolleranza .
- **kwargs
Eventuali argomenti di parole chiave aggiuntivi verranno passati a
add()
, che creerà il primo sottodiagramma.
- ascia
Guarda anche
Esempi
( Codice sorgente )
- add ( patchlabel = '' , flussi = Nessuno , orientamenti = Nessuno , etichette = '' , trunklength = 1.0 , pathlengths = 0.25 , prior = None , connect = (0, 0) , rotation = 0 , ** kwargs ) [fonte ] #
Aggiungi un semplice diagramma di Sankey con flussi allo stesso livello gerarchico.
- Parametri :
- etichetta patch str
Etichetta da posizionare al centro del diagramma. Si noti che label (non patchlabel ) può essere passata come argomento di parola chiave per creare una voce nella legenda.
- elenco di flussi di float
Array di valori di flusso. Per convenzione gli input sono positivi e gli output negativi.
I flussi sono posizionati lungo la parte superiore del diagramma dall'interno verso l'esterno in ordine di indice all'interno dei flussi . Sono posizionati lungo i lati del diagramma dall'alto verso il basso e lungo il fondo dall'esterno verso l'interno.
Se la somma degli input e degli output è diversa da zero, la discrepanza apparirà come una curva di Bezier cubica lungo i bordi superiore e inferiore del tronco.
- elenco orientamenti di {-1, 0, 1}
Elenco degli orientamenti dei flussi (o un unico orientamento da utilizzare per tutti i flussi). I valori validi sono 0 (input da sinistra, output da destra), 1 (da e verso l'alto) o -1 (da e verso il basso).
- elenco etichette di (str o None)
Elenco delle etichette per i flussi (o un'unica etichetta da utilizzare per tutti i flussi). Ogni etichetta può essere None (nessuna etichetta) o una stringa di etichettatura. Se una voce è una stringa (possibilmente vuota), la quantità per il flusso corrispondente verrà mostrata sotto la stringa. Tuttavia, se l' unità del diagramma principale è None, le quantità non vengono mai mostrate, indipendentemente dal valore di questo argomento.
- galleggiante lungo il tronco
Lunghezza tra le basi dei gruppi di input e output (in unità dello spazio dati).
- elenco di percorsi di float
Elenco delle lunghezze delle frecce verticali prima del rodaggio o dopo il break-away. Se viene fornito un solo valore, verrà applicato ai primi percorsi (interni) in alto e in basso e la lunghezza di tutte le altre frecce verrà giustificata di conseguenza. Le lunghezze del percorso non vengono applicate agli ingressi e alle uscite orizzontali.
- precedente int
Indice del diagramma precedente a cui collegare questo diagramma.
- collegare (int, int)
Una tupla (prior, this) che indicizza il flusso del diagramma precedente e il flusso di questo diagramma che dovrebbe essere connesso. Se questo è il primo diagramma o precedente è None , connect verrà ignorato.
- galleggiante di rotazione
Angolo di rotazione del diagramma in gradi. L'interpretazione dell'argomento orientamenti verrà ruotata di conseguenza (ad esempio, se rotazione == 90, una voce orientamenti di 1 significa da/a sinistra). la rotazione viene ignorata se questo diagramma è connesso a uno esistente (usando prior e connect ).
- Resi :
- Sankey
L'
Sankey
istanza corrente.
- Altri parametri :
- **kwargs
Ulteriori argomenti di parole chiave impostano
matplotlib.patches.PathPatch
le proprietà, elencate di seguito. Ad esempio, si potrebbe voler utilizzarefill=False
o .label="A legend entry"
Proprietà
Descrizione
una funzione di filtro, che accetta un array float (m, n, 3) e un valore dpi e restituisce un array (m, n, 3) e due offset dall'angolo in basso a sinistra dell'immagine
sconosciuto
bool
antialiased
o aabool o Nessuno
CapStyle
o {'culo', 'sporgente', 'rotondo'}bool
Patch o (Percorso, Trasforma) o Nessuno
colore
edgecolor
o ecccolore o Nessuno
facecolor
o fccolore o Nessuno
bool
str
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
bool
JoinStyle
o {'mitre', 'round', 'bevel'}oggetto
linestyle
o ls{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
linewidth
o lwfloat o Nessuno
bool
Nessuno o bool o float o richiamabile
bool
(scala: float, lunghezza: float, casualità: float)
bool o Nessuno
str
bool
galleggiante
Guarda anche
- finire ( ) [fonte] #
Regola gli assi e restituisce un elenco di informazioni sui diagrammi secondari di Sankey.
Il valore restituito è un elenco di sottodiagrammi rappresentati con i seguenti campi:
Campo
Descrizione
toppa
Contorno di Sankey (un'istanza di
PathPatch
)flussi
valori dei flussi (positivi per input, negativi per output)
angoli
lista degli angoli delle frecce [deg/90] Ad esempio, se il diagramma non è stato ruotato, un ingresso in alto avrà un angolo di 3 (GIÙ), e un'uscita in alto avrà un angolo di 1 (SU). Se un flusso è stato saltato (poiché la sua grandezza è inferiore a tolleranza ), il suo angolo sarà None .
Consigli
matrice in cui ogni riga è una coppia [x, y] che indica le posizioni delle punte (o "ribassi") dei percorsi del flusso Se l'ampiezza di un flusso è inferiore alla tolleranza per l'istanza di
Sankey
, il flusso viene saltato e il suo punta sarà al centro del diagramma.testo
Text
esempio per l'etichetta del diagrammatesti
elenco di
Text
istanze per le etichette dei flussiGuarda anche