Spec-Zone.ru › Matplotlib 2.2

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) [source]

Базовое класс: object

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

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

Создаёт новый экземпляр Sankey.

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

Поле Описание
ax оси, на которые должны быть нанесены данные. Если ax не указан, будут созданы новые оси.
scale коэффициент масштабирования потоков. scale масштабирует ширину путей для поддержания правильной компоновки. Один и тот же масштаб применяется ко всем поддиаграммам. Значение следует выбирать таким, чтобы произведение scale и суммы входов приблизительно равно 1.0 (и произведение scale и суммы выходов приблизительно равно -1.0).
unit строка, представляющая физическую единицу, связанную с величинами потока. Если unit равно None, то величины потока не будут подписываться.
format строка форматирования чисел Python, которая будет использоваться при подписи потока как величины (т.е., число умноженное на единицу, где единица указана)
gap пространство между путями, которые разрываются/соединяются с верхним или нижним концом
radius внутренний радиус вертикальных путей
shoulder размер плеч стрелок выхода
offset смещение текста (от впадины или наконечника стрелки)
head_angle угол наконечников стрелок (и отрицательный угол хвостов) [град]
margin минимальное пространство между контурами Sankey и краем области графика
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_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) [source]

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

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

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

Ключевое слово Описание
patchlabel метка, которая будет размещена в центре диаграммы Примечание: label (а не patchlabel) будет передан в patch через **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 функция фильтра, которая принимает (m, n, 3) массив с плавающей запятой и значение dpi и возвращает (m, n, 3) массив
alpha число с плавающей запятой или None
animated булево значение
antialiased или aa булево значение или None
capstyle ['butt' | 'round' | 'projecting']
clip_box экземпляр Bbox
clip_on булево значение
clip_path [(Path, Transform) | Patch | None]
color спецификация цвета matplotlib
contains вызываемая функция
edgecolor или ec спецификация цвета mpl, None, 'none' или 'auto'
facecolor или fc спецификация цвета mpl или None для значения по умолчанию, или 'none' для отсутствия цвета
figure экземпляр Figure
fill булево значение
gid строка идентификатора
hatch ['/' | '\' | '|' | '-' | '+' | 'x' | 'o' | 'O' | '.' | '*']
joinstyle ['miter' | 'round' | 'bevel']
label объект
linestyle или ls ['solid' | 'dashed', 'dashdot', 'dotted' | (offset, on-off-dash-seq) | '-' | '--' | '-.' | ':' | 'None' | ' ' | '']
linewidth или lw число с плавающей запятой или None по умолчанию
path_effects AbstractPathEffect
picker [None | булево значение | число с плавающей запятой | вызываемая функция]
rasterized булево значение или None
sketch_params (масштаб: число с плавающей запятой, длина: число с плавающей запятой, случайность: число с плавающей запятой)
snap булево значение или None
transform Transform
url строка url
visible булево значение
zorder число с плавающей запятой

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

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

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

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

См. также

finish()

finish() [source]

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

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

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

См. также

add()

© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/2.2.3/api/sankey_api.html

Spec-Zone.ru

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