Spec-Zone.ru › Matplotlib 3.0

санки

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

Диаграммы Санки — это особый тип диаграмм потоков, в которых ширина стрелок отображается пропорционально величине потока. Обычно они используются для визуализации передачи энергии, материалов или затрат между процессами. Википедия (01.06.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_basics_00_00.png

(png, pdf)

../_images/sankey_basics_00_01.png

(png, pdf)

../_images/sankey_basics_00_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 функция фильтра, которая принимает массив float (m, n, 3) и значение dpi и возвращает массив (m, n, 3)
alpha float или None
animated bool
antialiased неизвестно
capstyle {'butt', 'round', 'projecting'}
clip_box Bbox
clip_on bool
clip_path [(Path, Transform) | Patch | None]
color цвет
contains вызываемая функция
edgecolor цвет или None или 'auto'
facecolor цвет или None
figure Figure
fill bool
gid строка
hatch {'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
in_layout bool
joinstyle {'miter', 'round', 'bevel'}
label объект
linestyle {'-', '--', '-.', ':', '', (смещение, последовательность вкл/выкл), ...}
linewidth вещественное число или None для значения по умолчанию
path_effects AbstractPathEffect
picker None или bool или float или вызываемая функция
rasterized bool или None
sketch_params (масштаб: float, длина: float, случайность: float)
snap bool или None
transform Transform
url строка
visible bool
zorder float

В качестве примеров, 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/3.0.0/api/sankey_api.html

Spec-Zone.ru

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