matplotlib.sankey
Модуль для создания диаграмм Санки с использованием Matplotlib.
- класс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, вызвав его без каких-либо аргументов kwargs:sankey = Sankey()
Затем добавьте простые поддиаграммы Санки:
sankey.add() # 1 sankey.add() # 2 #... sankey.add() # n
Наконец, создайте полную диаграмму:
sankey.finish()
Или, вместо этого, просто последовательно вызывайте эти функции:
Sankey().add().add... .add().finish()
- Дополнительные параметры:
-
-
ax
Axes -
Ось, на которую должны быть нанесены данные. Если 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, что создаст первую поддиаграмму.
-
ax
См. также
Примеры
- 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.
- Дополнительные параметры:
-
- **kwargs
-
Дополнительные ключевые аргументы, устанавливающие свойства
matplotlib.patches.PathPatch, перечисленные ниже. Например, можно использоватьfill=Falseилиlabel="A legend entry".Свойство
Описание
функция фильтра, которая принимает (m, n, 3) массив с плавающей точкой и значение dpi, и возвращает (m, n, 3) массив и два смещения от левого нижнего угла изображения
неизвестно
bool
antialiasedили aabool или None
CapStyleили {'butt', 'projecting', 'round'}BboxBaseили Nonebool
Patch или (Path, Transform) или None
edgecolorили ecцвет или None
facecolorили fcцвет или None
bool
str
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
bool
JoinStyleили {'miter', 'round', 'bevel'}объект
linestyleили ls{'-', '--', '-.', ':', '', (смещение, последовательность включений/выключений), ...}
linewidthили lwfloat или None
bool
список
AbstractPathEffectNone или bool или float или вызываемый объект
bool
(масштаб: float, длина: float, случайность: float)
bool или None
str
bool
float
См. также
-
- finish()[source]
-
Настройте оси и верните список информации о поддиаграмме(ах) Санки.
Возвращает список поддиаграмм со следующими полями:
Поле
Описание
patch
Контур Санки (объект
PathPatch).flows
Значения потоков (положительные для ввода, отрицательные для вывода).
angles
Список углов стрелок [град/90]. Например, если диаграмма не повернута, вход сверху имеет угол 3 (ВНИЗ), а выход сверху — угол 1 (ВВЕРХ). Если поток пропущен (потому что его величина меньше tolerance), то его угол будет None.
tips
(N, 2)-массив координат (x, y) концов (или «загибов») потоковых путей. Если величина потока меньше tolerance этого экземпляра
Sankey, поток пропускается, и его конец будет находиться в центре диаграммы.text
Экземпляр
Textдля метки диаграммы.texts
Список экземпляров
Textдля меток потоков.См. также
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/sankey_api.html