Spec-Zone.ru › Matplotlib 2.1

sankey

matplotlib.sankey

Модуль для создания диаграмм Санки с использованием 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)

Базируется на object

Диаграмма Санки в matplotlib

Диаграммы Санки — это особый тип диаграмм потоков, в которых ширина стрелок отображается пропорционально величине потока. Обычно они используются для визуализации передачи энергии, материалов или затрат между процессами. Wikipedia (6/1/2011)

Создает новую инстанцию Sankey.

Дополнительные ключевые аргументы:

Поле Описание
ax оси, на которые должны быть нанесены данные. Если ax не указан, будут созданы новые оси.
scale коэффициент масштабирования для потоков. scale изменяет ширину путей для поддержания правильной компоновки. Один и тот же масштаб применяется ко всем поддиаграммам. Значение должно быть выбрано таким образом, чтобы произведение масштаба и суммы входов приближалось к 1,0 (и произведение масштаба и суммы выходов приближалось к -1,0).
unit строка, представляющая физическую единицу, связанную с величинами потока. Если unit равно None, то величины не будут помечены.
format строка форматирования чисел Python, которая будет использоваться при маркировке потока как величины (например, число умноженное на единицу, где единица указана)
gap расстояние между путями, которые разрываются или отходят от верха или низа
radius внутренний радиус вертикальных путей
shoulder размер плеч выходных стрелок
offset смещение текста (от впадины или кончика стрелки)
head_angle угол головки стрелки (и отрицательный угол хвоста) [град]
margin минимальное расстояние между контурами Санки и краем области графика
tolerance допустимое максимальное значение модуля суммы потоков. Модуль суммы соединённых потоков не может быть больше tolerance.

Перечисленные выше необязательные аргументы применяются ко всем поддиаграммам, чтобы обеспечить согласованное выравнивание и форматирование.

Если Sankey инициализируется любыми ключевыми аргументами, кроме явно перечисленных выше (**kwargs), они будут переданы в add(), что создаст первую поддиаграмму.

Для построения сложной диаграммы Санки создайте экземпляр Sankey, вызвав его без каких-либо kwargs:

sankey = Sankey()

Затем добавьте простые поддиаграммы Санки:

sankey.add() # 1
sankey.add() # 2
#...
sankey.add() # n

Наконец, создайте полную диаграмму:

sankey.finish()

Или же, просто свяжите эти вызовы цепочкой:

Sankey().add().add...  .add().finish()

См. также

add() finish()

Примеры:

(Исходный код)

../_images/sankey_basics_00.png

(png, pdf)

../_images/sankey_basics_01.png

(png, pdf)

../_images/sankey_basics_02.png

(png, pdf)

add(patchlabel='', flows=None, orientations=None, labels='', trunklength=1.0, pathlengths=0.25, prior=None, connect=(0, 0), rotation=0, **kwargs)

Добавить простую диаграмму Санки с потоками на одном и том же иерархическом уровне.

Возвращаемое значение — экземпляр Sankey.

Необязательные ключевые аргументы:

Ключевое слово Описание
patchlabel метка, которая будет размещена в центре диаграммы Примечание: label (а не patchlabel) будет передан объекту-заполнителю через **kwargs и может использоваться для создания записи в легенде.
flows массив значений потоков По соглашению, входные значения положительны, а выходные — отрицательны.
orientations список ориентаций путей Допустимые значения: 1 (сверху/снизу), 0 (слева/справа) или -1 (снизу/сверху). Если orientations == 0, входные значения будут входить слева, а выходные — выходить справа.
labels список спецификаций меток для потоков Каждое значение может быть None (без меток), ‘’ (только метки количеств) или строкой метки. Если предоставлено одно значение, оно будет применено ко всем потокам. Если запись — непустая строка, то количество для соответствующего потока будет показано под строкой. Однако, если unit основной диаграммы равно None, то количества никогда не отображаются, независимо от значения этого аргумента.
trunklength длина между основаниями входных и выходных групп
pathlengths список длин стрелок перед входом или после выхода Если задано одно значение, оно будет применено к первым (внутренним) путям сверху и снизу, а длина всех остальных стрелок будет скорректирована соответствующим образом. Параметр pathlengths не применяется к горизонтальным входам и выходам.
prior индекс предыдущей диаграммы, к которой эта диаграмма должна быть подключена
connect кортеж (previous, this), индексирующий поток предыдущей диаграммы и поток этой диаграммы, которые должны быть соединены Если это первая диаграмма или prior равно None, connect будет проигнорирован.
rotation угол поворота диаграммы [град] rotation игнорируется, если эта диаграмма подключена к существующей (с помощью prior и connect). Интерпретация аргумента orientations будет повернута соответственно (например, если rotation == 90, запись orientations 1 означает слева/справа).

Допустимые значения kwargs — аргументы matplotlib.patches.PathPatch():

Свойство Описание
agg_filter неизвестно
alpha float или None
animated [True | False]
antialiased или aa [True | False] или None по умолчанию
capstyle [‘butt’ | ‘round’ | ‘projecting’]
clip_box экземпляр matplotlib.transforms.Bbox
clip_on [True | False]
clip_path [ (Path, Transform) | Patch | None ]
color спецификация цвета matplotlib
contains функция-вызов
edgecolor или ec спецификация цвета mpl, None, ‘none’ или ‘auto’
facecolor или fc спецификация цвета mpl или None по умолчанию или ‘none’ для отсутствия цвета
figure экземпляр matplotlib.figure.Figure
fill [True | False]
gid строка идентификатора
hatch [‘/’ | ‘' | ‘|’ | ‘-‘ | ‘+’ | ‘x’ | ‘o’ | ‘O’ | ‘.’ | ‘*’]
joinstyle [‘miter’ | ‘round’ | ‘bevel’]
label строка или любой вывод, допускающий преобразование с помощью «%s»
linestyle или ls [‘solid’ | ‘dashed’, ‘dashdot’, ‘dotted’ | (смещение, последовательность чередования) | '-' | '--' | '-.' | ':' | 'None' | ' ' | '']
linewidth или lw число с плавающей точкой или None по умолчанию
path_effects неизвестно
picker [None|число с плавающей точкой|логическое значение|функция-вызов]
rasterized [True | False | None]
sketch_params неизвестно
snap неизвестно
transform экземпляр Transform
url строка url
visible [True | False]
zorder любое число

В качестве примеров, fill=False и label='A legend entry'. По умолчанию, facecolor='#bfd1d4' (светло-голубой) и linewidth=0.5.

Параметры индексации (prior и connect) нумеруются с нуля.

Потоки размещаются вдоль верхней части диаграммы отнутри наружу в порядке их индекса в списке или массиве flows. Они размещаются по бокам диаграммы сверху вниз и по нижней части диаграммы снаружи внутрь.

Если сумма входных и выходных значений не равна нулю, расхождение будет отображено как кубическая кривая Безье по верхнему и нижнему краям ствола.

См. также

finish()

finish()

Настройка осей и возвращение списка информации о поддиаграмме(ах) Санки.

Возвращаемое значение — список поддиаграмм, представленных следующими полями:

Поле Описание
patch Контур Санки (экземпляр PathPatch)
flows Значения потоков (положительные для входящих, отрицательные для исходящих)
angles Список углов стрелок [град/90]. Например, если диаграмма не повернута, вход сверху будет иметь угол 3 (ВНИЗ), а выход сверху — угол 1 (ВВЕРХ). Если поток пропущен (потому что его величина меньше tolerance), то его угол будет None.
tips Массив, в котором каждая строка представляет собой пару [x, y], указывающую положение вершин (или «впадин») траекторий потока. Если величина потока меньше tolerance для экземпляра Sankey, поток пропускается, а его вершина будет находиться в центре диаграммы.
text Экземпляр Text для метки диаграммы
texts Список экземпляров Text для меток потоков

См. также

add()

© 2012–2017 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
http://matplotlib.org/2.1.0/api/sankey_api.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API