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 or callable
-
Строка форматирования Python чисел или вызываемая функция, используемая для подписи потоков их величинами (т. е., число умножается на единицу, где единица задана). Если задана строка формата, метка будет
format % quantity. Если задана вызываемая функция, она будет вызываться сquantityв качестве аргумента. - gapfloat
-
Пространство между путями, которые разрываются/отходят от верха или низа.
- radiusfloat
-
Внутренний радиус вертикальных путей.
- shoulderfloat
-
Размер плеч выходных стрелок.
- offsetfloat
-
Смещение текста (от изгиба или наконечника стрелки).
- head_anglefloat
-
Угол в градусах наконечников стрелок (и отрицательный угол хвостов).
- marginfloat
-
Минимальное пространство между контурами Санки и краем области графика.
- tolerancefloat
-
Допустимое максимальное значение величины суммы потоков. Величина суммы соединённых потоков не может быть больше, чем tolerance.
- **kwargs
-
Любые дополнительные ключевые аргументы будут переданы в
add(), что создаст первую поддиаграмму.
-
ax
См. также
Примеры
(
png)
(
png)
(
png)
- 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) и два смещения от нижнего левого угла изображения
неизвестно
логическое значение
antialiasedили aaлогическое значение или None
CapStyleили {'butt', 'projecting', 'round'}логическое значение
Объект Patch или (Path, Transform) или None
цвет
edgecolorили ecцвет или None
facecolorили fcцвет или None
логическое значение
строка
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
логическое значение
JoinStyleили {'miter', 'round', 'bevel'}объект
linestyleили ls{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
linewidthили lwчисло с плавающей точкой или None
логическое значение
None или логическое значение или число с плавающей точкой или вызываемая функция
логическое значение
(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой)
логическое значение или None
строка
логическое значение
число с плавающей точкой
См. также
-
- finish()[source]
-
Настройка осей и возврат списка информации о поддиаграмме Санки.
Значение возврата — список поддиаграмм, представленных с помощью следующих полей:
Поле
Описание
patch
Контур Санки (экземпляр
PathPatch)flows
значения потоков (положительные для входных, отрицательные для выходных)
angles
список углов стрелок [град/90]. Например, если диаграмма не была повернута, вход в верхнюю сторону будет иметь угол 3 (ВНИЗ), а выход из верхней стороны — угол 1 (ВВЕРХ). Если поток был пропущен (потому что его величина меньше tolerance), то его угол будет None.
tips
массив, в котором каждая строка представляет собой пару [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.7.5/api/sankey_api.html