matplotlib.sankey
#
Módulo para criação de diagramas Sankey usando Matplotlib.
- classe matplotlib.sankey. Sankey ( ax = Nenhum , escala = 1,0 , unidade = '' , formato = '%G' , lacuna = 0,25 , raio = 0,1 , ombro = 0,03 , deslocamento = 0,15 , head_angle = 100 , margem = 0,4 , tolerância = 1e- 06 , ** kwargs ) [fonte]#
Bases:
object
Diagrama de Sankey.
Os diagramas de Sankey são um tipo específico de diagrama de fluxo, no qual a largura das setas é mostrada proporcionalmente à quantidade de fluxo. Eles são normalmente usados para visualizar transferências de energia ou material ou custo entre processos. Wikipédia (01/06/2011)
Crie uma nova instância do Sankey.
Os argumentos opcionais listados abaixo são aplicados a todos os subdiagramas para que haja alinhamento e formatação consistentes.
Para desenhar um diagrama Sankey complexo, crie uma instância de
Sankey
chamando-a sem nenhum kwarg:sankey = Sankey()
Em seguida, adicione subdiagramas Sankey simples:
sankey.add() # 1 sankey.add() # 2 #... sankey.add() # n
Finalmente, crie o diagrama completo:
sankey.finish()
Ou, em vez disso, simplesmente encadeie essas chamadas:
Sankey().add().add... .add().finish()
- Outros Parâmetros :
- machado
Axes
Eixos nos quais os dados devem ser plotados. Se ax não for fornecido, novos Axes serão criados.
- flutuador de escala
Fator de escala para os fluxos. scale dimensiona a largura dos caminhos para manter o layout adequado. A mesma escala é aplicada a todos os subdiagramas. O valor deve ser escolhido de forma que o produto da escala e a soma das entradas seja aproximadamente 1,0 (e o produto da escala e a soma das saídas seja aproximadamente -1,0).
- unidade str
A unidade física associada às quantidades de fluxo. Se a unidade for Nenhuma, nenhuma das quantidades será rotulada.
- formato str ou callable
Uma string de formatação de número Python ou callable usado para rotular os fluxos com suas quantidades (ou seja, um número vezes uma unidade, onde a unidade é fornecida). Se uma string de formato for fornecida, o rótulo será . Se um callable for fornecido, ele será chamado como um argumento.
format % quantity
quantity
- flutuador de lacuna
Espaço entre os caminhos que se abrem/saem para/da parte superior ou inferior.
- flutuação do raio
Raio interno dos caminhos verticais.
- flutuação do ombro
Tamanho dos ombros das setas de saída.
- deslocamento flutuante
Deslocamento de texto (a partir do mergulho ou ponta da seta).
- head_angle flutuar
Ângulo, em graus, das pontas das setas (e negativo do ângulo das pontas).
- margem flutuante
Espaço mínimo entre os contornos de Sankey e a borda da área do lote.
- folga de tolerância
Máximo aceitável da magnitude da soma dos fluxos. A magnitude da soma dos fluxos conectados não pode ser maior que a tolerância .
- ** kwargs
Qualquer argumento de palavra-chave adicional será passado para
add()
, que criará o primeiro subdiagrama.
- machado
Veja também
Exemplos
( código fonte )
- add ( patchlabel = '' , flows = None , orientações = None , labels = '' , trunklength = 1.0 , pathlengths = 0.25 , prior = None , connect = (0, 0) , rotation = 0 , ** kwargs ) [source ] #
Adicione um diagrama Sankey simples com fluxos no mesmo nível hierárquico.
- Parâmetros :
- patchlabel str
Rótulo a ser colocado no centro do diagrama. Observe que label (não patchlabel ) pode ser passado como argumento de palavra-chave para criar uma entrada na legenda.
- lista de fluxos de float
Matriz de valores de fluxo. Por convenção, as entradas são positivas e as saídas são negativas.
Os fluxos são colocados na parte superior do diagrama de dentro para fora na ordem de seu índice dentro dos fluxos . Eles são colocados ao longo dos lados do diagrama de cima para baixo e ao longo da parte inferior de fora para dentro.
Se a soma das entradas e saídas for diferente de zero, a discrepância aparecerá como uma curva cúbica de Bezier ao longo das bordas superior e inferior do tronco.
- lista de orientações de {-1, 0, 1}
Lista de orientações dos fluxos (ou uma única orientação a ser usada para todos os fluxos). Os valores válidos são 0 (entradas da esquerda, saídas da direita), 1 (de e para cima) ou -1 (de e para baixo).
- lista de rótulos de (str ou None)
Lista de rótulos para os fluxos (ou um único rótulo a ser usado para todos os fluxos). Cada rótulo pode ser Nenhum (sem rótulo) ou uma string de rotulagem. Se uma entrada for uma string (possivelmente vazia), a quantidade para o fluxo correspondente será mostrada abaixo da string. No entanto, se a unidade do diagrama principal for None, as quantidades nunca serão mostradas, independentemente do valor desse argumento.
- comprimento do tronco flutuante
Comprimento entre as bases dos grupos de entrada e saída (em unidades de espaço de dados).
- lista de comprimentos de caminho de float
Lista de comprimentos das setas verticais antes do arrombamento ou depois do arrombamento. Se um único valor for fornecido, ele será aplicado aos primeiros caminhos (internos) na parte superior e inferior, e o comprimento de todas as outras setas será justificado de acordo. Os comprimentos de caminho não são aplicados às entradas e saídas horizontais.
- anterior int
Índice do diagrama anterior ao qual este diagrama deve ser conectado.
- conectar (int, int)
Uma tupla (anterior, esta) indexando o fluxo do diagrama anterior e o fluxo deste diagrama que deve ser conectado. Se este for o primeiro diagrama ou o anterior for None , connect será ignorado.
- flutuador de rotação
Ângulo de rotação do diagrama em graus. A interpretação do argumento de orientações será rotacionada de acordo (por exemplo, se rotação == 90, uma entrada de orientação de 1 significa para/da esquerda). a rotação é ignorada se este diagrama estiver conectado a um existente (usando prior e connect ).
- Devoluções :
- Sankey
A
Sankey
instância atual.
- Outros Parâmetros :
- ** kwargs
Argumentos de palavra-chave adicionais definem
matplotlib.patches.PathPatch
propriedades, listadas abaixo. Por exemplo, pode-se querer usarfill=False
ou .label="A legend entry"
Propriedade
Descrição
uma função de filtro, que usa uma matriz flutuante (m, n, 3) e um valor de dpi e retorna uma matriz (m, n, 3) e dois deslocamentos do canto inferior esquerdo da imagem
desconhecido
bool
antialiased
ou aabool ou nenhum
CapStyle
ou {'bunda', 'projetando', 'redondo'}bool
Patch ou (Caminho, Transformação) ou Nenhum
cor
edgecolor
ou eccor ou nenhum
facecolor
ou fccor ou nenhum
bool
str
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
bool
JoinStyle
ou {'esquadria', 'redondo', 'chanfrado'}objeto
linestyle
ou ls{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
linewidth
ou lwflutuante ou nenhum
bool
None ou bool ou float ou callable
bool
(escala: flutuante, comprimento: flutuante, aleatoriedade: flutuante)
bool ou nenhum
str
bool
flutuador
Veja também
- acabamento ( ) [fonte] #
Ajuste os eixos e retorne uma lista de informações sobre o(s) subdiagrama(s) Sankey.
O valor de retorno é uma lista de subdiagramas representados com os seguintes campos:
Campo
Descrição
correção
Contorno de Sankey (uma instância de
PathPatch
)flui
valores dos fluxos (positivo para entrada, negativo para saída)
ângulos
lista de ângulos das setas [graus/90] Por exemplo, se o diagrama não foi girado, uma entrada para o lado superior terá um ângulo de 3 (PARA BAIXO) e uma saída do lado superior terá um ângulo de 1 PARA CIMA). Se um fluxo foi ignorado (porque sua magnitude é menor que a tolerância ), seu ângulo será Nenhum .
pontas
array em que cada linha é um par [x, y] indicando as posições das pontas (ou "dips") dos caminhos de fluxo Se a magnitude de um fluxo for menor que a tolerância para a instância de
Sankey
, o fluxo é ignorado e seu ponta estará no centro do diagrama.texto
Text
instância para o rótulo do diagramaTexto:% s
lista de
Text
instâncias para os rótulos dos fluxosVeja também