Spec-Zone.ru › Matplotlib 3.2

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 изменяет ширину путей для сохранения правильного макета. Один и тот же масштаб применяется ко всем поддиаграммам. Значение следует выбирать таким образом, чтобы произведение масштаба и суммы входов приближалось к 1,0 (и произведение масштаба и суммы выходов приближалось к -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]
END_OF_DOCUMENT_MARKER

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

Параметры:
patchlabelstr

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

flowslist of float

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

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

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

orientationslist of {-1, 0, 1}

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

labelslist of (str or None)

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

trunklengthfloat

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

pathlengthslist of float

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

priorint

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

connect(int, int)

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

rotationfloat

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

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

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

Другие параметры:
**kwargs

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

Свойство Описание
agg_filter функция фильтра, которая принимает массив float (m, n, 3) и значение dpi, и возвращает массив float (m, n, 3)
alpha float или None
animated bool
antialiased или aa неизвестно
capstyle {'butt', 'round', 'projecting'}
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 {'miter', 'round', 'bevel'}
label объект
linestyle или ls {'-', '--', '-.', ':', '', (смещение, последовательность включения/выключения), ...}
linewidth или lw число с плавающей точкой или None
path_effects AbstractPathEffect
picker None или bool или число с плавающей точкой или вызываемая функция
rasterized bool или None
sketch_params (масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой)
snap bool или None
transform Transform
url строка
visible bool
zorder число с плавающей точкой

См. также

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.2.2/api/sankey_api.html

Spec-Zone.ru

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