Spec-Zone.ru › Matplotlib 3.1

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]

Bases: object

Диаграмма Санки.

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

См. также

Sankey.add
Sankey.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(self, patchlabel='', flows=None, orientations=None, labels='', trunklength=1.0, pathlengths=0.25, prior=None, connect=(0, 0), rotation=0, **kwargs) [source]

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

Параметры:
patchlabel : str

Метка, которая будет размещена в центре диаграммы. Обратите внимание, что label (а не patchlabel) может быть передан в качестве ключевого аргумента для создания записи в легенде.

flows : list of float

Массив значений потока. По соглашению, входные значения положительные, а выходные — отрицательные.

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

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

orientations : list of {-1, 0, 1}

Список ориентаций потоков (или единственная ориентация, используемая для всех потоков). Допустимые значения: 0 (входные слева, выходные справа), 1 (сверху и вниз) или -1 (снизу вверх).

labels : list of (str or None)

Список меток для потоков (или одна метка, используемая для всех потоков). Каждая метка может быть None (нет метки) или строкой маркировки. Если запись является (возможно, пустой) строкой, то величина соответствующего потока будет отображена под строкой. Однако, если unit основной диаграммы равен None, то величины никогда не отображаются, независимо от значения этого аргумента.

trunklength : float

Длина между основаниями входных и выходных групп (в единицах данных).

pathlengths : list of float

Список длин вертикальных стрелок перед разрывом или после отклонения. Если указано одно значение, то оно будет применено к первым (внутренним) путям сверху и снизу, а длина всех остальных стрелок будет вычислена соответственно. pathlengths не применяются к горизонтальным входным и выходным значениям.

prior : int

Индекс предыдущей диаграммы, к которой должна быть подключена эта диаграмма.

connect : (int, int)

Кортеж (предыдущий, текущий), индексирующий поток предыдущей диаграммы и поток текущей диаграммы, которые должны быть соединены. Если это первая диаграмма или prior равно None, connect будет проигнорировано.

rotation : float

Угол поворота диаграммы в градусах. Интерпретация аргумента orientations будет повернута соответственно (например, если rotation == 90, запись orientations равна 1 означает слева/справа). rotation игнорируется, если эта диаграмма подключена к существующей (с помощью prior и connect).

Возвращает:
Sankey

Текущий экземпляр Sankey.

END_OF_DOCUMENT_MARKER
Дополнительные параметры:
**kwargs

Дополнительные ключевые аргументы устанавливают свойства matplotlib.patches.PathPatch, перечисленные ниже. Например, можно использовать fill=False или label="A legend entry".

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

См. также

Sankey.finish
finish(self) [source]

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

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

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

См. также

Sankey.add

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

Spec-Zone.ru

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