matplotlib.sankey
#
Módulo para crear diagramas de Sankey usando Matplotlib.
- clase matplotlib.sankey. Sankey ( ax = Ninguno , escala = 1,0 , unidad = '' , formato = '%G' , espacio = 0,25 , radio = 0,1 , hombro = 0,03 , desplazamiento = 0,15 , head_angle = 100 , margen = 0,4 , tolerancia = 1e- 06 , ** kwargs ) [fuente]#
Bases:
object
Diagrama de Sankey.
Los diagramas de Sankey son un tipo específico de diagrama de flujo, en el que el ancho de las flechas se muestra proporcionalmente a la cantidad de flujo. Por lo general, se utilizan para visualizar transferencias de energía, materiales o costos entre procesos. Wikipedia (01/06/2011)
Cree una nueva instancia de Sankey.
Los argumentos opcionales que se enumeran a continuación se aplican a todos los subdiagramas para que haya una alineación y un formato coherentes.
Para dibujar un diagrama de Sankey complejo, cree una instancia de
Sankey
llamándolo sin kwargs:sankey = Sankey()
Luego agregue subdiagramas simples de Sankey:
sankey.add() # 1 sankey.add() # 2 #... sankey.add() # n
Finalmente, crea el diagrama completo:
sankey.finish()
O, en su lugar, simplemente conecte en cadena esas llamadas:
Sankey().add().add... .add().finish()
- Otros parámetros :
- hacha
Axes
Ejes en los que se deben trazar los datos. Si no se proporciona un eje, se crearán nuevos ejes.
- flotador de escala
Factor de escala para los flujos. la escala mide el ancho de los caminos para mantener un diseño adecuado. La misma escala se aplica a todos los subdiagramas. El valor debe elegirse de modo que el producto de la escala y la suma de las entradas sea aproximadamente 1,0 (y el producto de la escala y la suma de las salidas sea aproximadamente -1,0).
- calle unidad
La unidad física asociada con las cantidades de flujo. Si la unidad es Ninguna, entonces ninguna de las cantidades está etiquetada.
- formato str o invocable
Una cadena de formato de número de Python o invocable que se usa para etiquetar los flujos con sus cantidades (es decir, un número multiplicado por una unidad, donde se da la unidad). Si se proporciona una cadena de formato, la etiqueta será . Si se da un invocable, se llamará como argumento.
format % quantity
quantity
- flotador de brecha
Espacio entre caminos que irrumpen/se separan hacia/desde la parte superior o inferior.
- flotador de radio
Radio interior de las trayectorias verticales.
- flotador de hombro
Tamaño de los hombros de las flechas de salida.
- flotador compensado
Desplazamiento de texto (desde la inclinación o la punta de la flecha).
- flotador head_angle
Ángulo, en grados, de las puntas de flecha (y negativo del ángulo de las colas).
- margen flotante
Mínimo espacio entre los contornos de Sankey y el borde de la parcela.
- flotador de tolerancia
Máximo aceptable de la magnitud de la suma de caudales. La magnitud de la suma de los flujos conectados no puede ser mayor que la tolerancia .
- **kwargs
Cualquier argumento de palabra clave adicional se pasará a
add()
, lo que creará el primer subdiagrama.
- hacha
Ver también
Ejemplos
( Código fuente )
- agregar ( patchlabel = '' , flujos = Ninguno , orientaciones = Ninguno , etiquetas = '' , longitud del tronco = 1.0 , longitudes de ruta = 0.25 , antes = Ninguno , conectar = (0, 0) , rotación = 0 , ** kwargs ) [fuente ] #
Agregue un diagrama de Sankey simple con flujos en el mismo nivel jerárquico.
- Parámetros :
- etiqueta de parche str
Etiqueta que se colocará en el centro del diagrama. Tenga en cuenta que la etiqueta (no la etiqueta del parche ) se puede pasar como argumento de palabra clave para crear una entrada en la leyenda.
- lista de flujos de float
Matriz de valores de flujo. Por convención, las entradas son positivas y las salidas son negativas.
Los flujos se colocan en la parte superior del diagrama de adentro hacia afuera en el orden de su índice dentro de los flujos . Se colocan a lo largo de los lados del diagrama de arriba hacia abajo y a lo largo de la parte inferior de afuera hacia adentro.
Si la suma de las entradas y salidas es distinta de cero, la discrepancia aparecerá como una curva Bézier cúbica a lo largo de los bordes superior e inferior del tronco.
- lista de orientaciones de {-1, 0, 1}
Lista de orientaciones de los flujos (o una única orientación a utilizar para todos los flujos). Los valores válidos son 0 (entradas por la izquierda, salidas por la derecha), 1 (desde y hacia arriba) o -1 (desde y hacia abajo).
- lista de etiquetas de (str o None)
Lista de etiquetas para los flujos (o una sola etiqueta que se utilizará para todos los flujos). Cada etiqueta puede ser Ninguna (sin etiqueta) o una cadena de etiquetado. Si una entrada es una cadena (posiblemente vacía), la cantidad para el flujo correspondiente se mostrará debajo de la cadena. Sin embargo, si la unidad del diagrama principal es Ninguna, las cantidades nunca se muestran, independientemente del valor de este argumento.
- flotador de longitud de tronco
Longitud entre las bases de los grupos de entrada y salida (en unidades de espacio de datos).
- lista de longitudes de ruta de float
Lista de longitudes de las flechas verticales antes del rodaje o después del rodaje. Si se proporciona un solo valor, se aplicará a las primeras rutas (interiores) en la parte superior e inferior, y la longitud de todas las demás flechas se justificará en consecuencia. Las longitudes de ruta no se aplican a las entradas y salidas horizontales.
- int anterior
Índice del diagrama anterior al que se debe conectar este diagrama.
- conectar (int, int)
Una tupla (anterior, esta) que indexa el flujo del diagrama anterior y el flujo de este diagrama que debe conectarse. Si este es el primer diagrama o el anterior es Ninguno , se ignorará la conexión .
- flotador de rotación
Ángulo de rotación del diagrama en grados. La interpretación del argumento de las orientaciones se rotará en consecuencia (por ejemplo, si la rotación == 90, una entrada de orientaciones de 1 significa hacia/desde la izquierda). la rotación se ignora si este diagrama está conectado a uno existente (usando prior y connect ).
- Devoluciones :
- Sankey
La
Sankey
instancia actual.
- Otros parámetros :
- **kwargs
Los argumentos de palabras clave adicionales establecen
matplotlib.patches.PathPatch
propiedades, que se enumeran a continuación. Por ejemplo, uno puede querer usarfill=False
o .label="A legend entry"
Propiedad
Descripción
una función de filtro, que toma una matriz flotante (m, n, 3) y un valor de ppp, y devuelve una matriz (m, n, 3) y dos compensaciones desde la esquina inferior izquierda de la imagen
desconocido
bool
antialiased
o unobooleano o ninguno
CapStyle
o {'trasero', 'proyectando', 'redondo'}bool
Parchear o (Ruta, Transformar) o Ninguno
color
edgecolor
o cecolor o ninguno
facecolor
o FCcolor o ninguno
bool
calle
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
bool
JoinStyle
o {'inglete', 'redondo', 'bisel'}objeto
linestyle
o ls{'-', '--', '-.', ':', '', (desplazamiento, on-off-seq), ...}
linewidth
o bajoflotante o Ninguno
bool
Ninguno o bool o flotante o invocable
bool
(escala: flotante, longitud: flotante, aleatoriedad: flotante)
booleano o ninguno
calle
bool
flotar
Ver también
- terminar ( ) [fuente] #
Ajuste los ejes y devuelva una lista de información sobre los subdiagramas de Sankey.
El valor devuelto es una lista de subdiagramas representados con los siguientes campos:
Campo
Descripción
parche
Esquema de Sankey (una instancia de
PathPatch
)fluye
valores de los flujos (positivo para entrada, negativo para salida)
anglos
lista de ángulos de las flechas [grados/90] Por ejemplo, si el diagrama no se ha girado, una entrada en la parte superior tendrá un ángulo de 3 (ABAJO), y una salida en la parte superior tendrá un ángulo de 1 DE VENTAJA). Si se ha omitido un flujo (porque su magnitud es menor que la tolerancia ), su ángulo será Ninguno .
puntas
matriz en la que cada fila es un par [x, y] que indica las posiciones de las puntas (o "dips") de las rutas de flujo Si la magnitud de un flujo es menor que la tolerancia para la instancia de
Sankey
, el flujo se omite y su la punta estará en el centro del diagrama.texto
Text
instancia para la etiqueta del diagramatextos
lista de
Text
instancias para las etiquetas de flujosVer también