Spec-Zone.ru › Matplotlib 3.3

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

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

Строка форматирования чисел Python, которая используется для маркировки потока как величины (т.е. числа, умноженного на единицу, где единица задается).

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(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

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

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

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

orientationslist of {-1, 0, 1}

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

labelslist of (str or None)

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

trunklengthfloat

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

pathlengthslist of float

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

priorint

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

connect(int, int)

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

rotationfloat

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

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

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

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

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

Свойство Описание
agg_filter функция фильтра, которая принимает (m, n, 3) массив чисел с плавающей точкой и значение dpi, и возвращает (m, n, 3) массив
alpha число с плавающей точкой или 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.3.3/api/sankey_api.html

Spec-Zone.ru

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