Spec-Zone.ru › Matplotlib 1.5

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, вызвав его без каких-либо аргументов:

sankey = Sankey()

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

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

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

sankey.finish()

Или, вместо этого, просто последовательно вызывайте эти функции:

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

См. также

add() finish()

Примеры:

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

../_images/sankey_demo_basics_00.png

(png, hires.png, pdf)

../_images/sankey_demo_basics_01.png

(png, hires.png, pdf)

../_images/sankey_demo_basics_02.png

(png, hires.png, pdf)

END_OF_DOCUMENT_MARKER
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) будет передано в patch через **kwargs и может использоваться для создания записи в легенде.
flows массив значений потоков По соглашению, входные значения положительные, а выходные — отрицательные.
orientations список ориентаций путей Допустимые значения — 1 (сверху/вниз), 0 (слева/справа) или -1 (снизу/вверх). Если orientations == 0, входные значения будут входить слева, а выходные — выходить справа.
labels список спецификаций меток для потоков Каждое значение может быть None (без меток), ‘’ (только метки величин) или строка метки. Если предоставлено одно значение, оно будет применено ко всем потокам. Если запись — непустая строка, то величина соответствующего потока будет отображена под строкой. Однако, если unit основной диаграммы равно None, величины никогда не отображаются, независимо от значения этого аргумента.
trunklength длина между основаниями входных и выходных групп
pathlengths список длин стрелок перед входом или после выхода Если задано одно значение, оно будет применено к первым (внутренним) путям сверху и снизу, а длина остальных стрелок будет выровнена соответственно. pathlengths не применяется к горизонтальным входным и выходным значениям.
prior индекс предыдущей диаграммы, к которой должна быть подключена данная диаграмма
connect кортеж (prior, 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 по умолчанию
axes экземпляр Axes
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’ для отсутствия цвета
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–2016 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
http://matplotlib.org/1.5.3/api/sankey_api.html

Spec-Zone.ru

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