Spec-Zone.ru › Matplotlib 3.4

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

sankey = Sankey()

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

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

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

sankey.finish()

Или, вместо этого, просто цепочкой вызовите эти методы:

Sankey().add().add...  .add().finish()
Другие параметры:
axAxes

Ось, на которой должны быть нанесены данные. Если ax не указан, будет создана новая ось.

scalefloat

Коэффициент масштабирования для потоков. scale масштабирует ширину путей для поддержания правильной компоновки. Один и тот же масштаб применяется ко всем поддиаграммам. Значение следует выбирать таким образом, чтобы произведение масштаба и суммы входных данных приблизительно равнялось 1,0 (а произведение масштаба и суммы выходных данных приблизительно -1,0).

unitstr

Физическая единица, связанная с величинами потока. Если unit равно None, то величины не маркируются.

formatstr или callable

Строка форматирования чисел Python или вызываемый объект, используемый для маркировки потоков их величинами (т. е. число умножается на единицу, где единица задана). Если задана строка форматирования, метка будет format % quantity. Если задан вызываемый объект, он будет вызван с quantity в качестве аргумента.

gapfloat

Пробел между путями, которые прерываются/отрываются от/к верху или низу.

radiusfloat

Внутренний радиус вертикальных путей.

shoulderfloat

Размер плеч стрелок вывода.

offsetfloat

Смещение текста (от углубления или кончика стрелки).

head_anglefloat

Угол в градусах стрелок (и отрицательный угол хвостов).

marginfloat

Минимальное расстояние между контурами Санки и краем области графика.

tolerancefloat

Допустимый максимум величины суммы потоков. Величина суммы соединенных потоков не может быть больше tolerance.

**kwargs

Любые дополнительные ключевые аргументы будут переданы в add(), что создаст первую поддиаграмму.

См. также

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

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

Параметры:
patchlabelstr

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

flowsсписок float

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

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

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

orientationsсписок {-1, 0, 1}

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

labelsсписок (str или None)

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

trunklengthfloat

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

pathlengthsсписок float

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

priorint

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

connect(int, int)

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

rotationfloat

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

См. также

Sankey.finish
finish()[source]

Корректирует оси и возвращает список информации о поддиаграммах Санки.

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

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

См. также

Sankey.add

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

Spec-Zone.ru

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