matplotlib.sankey
Модуль для создания диаграмм Санки с помощью Matplotlib.
- classmatplotlib.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()
Затем добавьте простые поддиаграммы Санки:
sankey.add() # 1 sankey.add() # 2 #... sankey.add() # n
Наконец, создайте полную диаграмму:
sankey.finish()
Или, вместо этого, просто используйте цепочку этих вызовов:
Sankey().add().add... .add().finish()
- Other Parameters:
-
-
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список чисел с плавающей точкой
-
Массив значений потоков. По соглашению, входы положительные, а выходы отрицательные.
Потоки размещаются вдоль верхней части диаграммы отнутри наружу в порядке их индекса в flows. Они размещаются вдоль боковых сторон диаграммы сверху вниз и вдоль нижней части снизу наружу.
Если сумма входов и выходов не равна нулю, различие отобразится как кубическая кривая Безье вдоль верхних и нижних границ ствола.
- orientationsсписок из {-1, 0, 1}
-
Список ориентаций потоков (или одна ориентация, которая будет использоваться для всех потоков). Допустимые значения: 0 (входы слева, выходы справа), 1 (сверху и вниз) или -1 (снизу вверх).
- labelsсписок из (строка или None)
-
Список меток для потоков (или одна метка, которая будет использоваться для всех потоков). Каждая метка может быть None (без метки) или строка для маркировки. Если запись представляет собой (возможно, пустую) строку, то величина соответствующего потока будет отображаться под строкой. Однако, если unit основной диаграммы равен None, величины никогда не отображаются, независимо от значения этого аргумента.
- trunklengthчисло с плавающей точкой
-
Длина между основаниями групп входов и выходов (в единицах данных).
- pathlengthsсписок чисел с плавающей точкой
-
Список длин вертикальных стрелок перед разрывом или после выхода. Если указано одно значение, то оно будет применено к первым (внутренним) путям сверху и снизу, а длина всех остальных стрелок будет согласована соответственно. pathlengths не применяются к горизонтальным входам и выходам.
- priorцелое число
-
Индекс предыдущей диаграммы, к которой должна быть подключена эта диаграмма.
- connect(целое число, целое число)
-
Кортеж (предыдущая, текущая), индексирующий поток предыдущей диаграммы и поток этой диаграммы, которые должны быть соединены. Если это первая диаграмма или prior равен None, connect будет проигнорирован.
- rotationчисло с плавающей точкой
-
Угол поворота диаграммы в градусах. Интерпретация аргумента 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) и два смещения от нижнего левого угла изображения
неизвестно
логическое значение
antialiasedили aaлогическое значение или None
CapStyleили {'butt', 'projecting', 'round'}BboxBaseили Noneлогическое значение
Объект Patch или (Path, Transform) или None
цвет
edgecolorили ecцвет или None
facecolorили fcцвет или None
логическое значение
строка
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
логическое значение
JoinStyleили {'miter', 'round', 'bevel'}объект
linestyleили ls{'-', '--', '-.', ':', '', (смещение, последовательность включения/выключения), ...}
linewidthили lwчисло с плавающей запятой или None
логическое значение
список
AbstractPathEffectNone или логическое значение или число с плавающей запятой или вызываемый объект
логическое значение
(масштаб: число с плавающей запятой, длина: число с плавающей запятой, случайность: число с плавающей запятой)
логическое значение или None
строка
логическое значение
число с плавающей запятой
См. также
-
- finish()[source]
-
Корректирует оси и возвращает список информации о поддиаграмме Sankey.
Возвращает список поддиаграмм со следующими полями:
Поле
Описание
patch
Контур Sankey (a
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/3.8.4/api/sankey_api.html