matplotlib.sankey
Модуль для создания диаграмм 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)[исходный код]
-
Базовые классы:
objectДиаграмма Sankey.
Диаграммы Sankey — это особый тип диаграмм потоков, в которых ширина стрелок пропорциональна величине потока. Обычно их используют для визуализации передачи энергии, материалов или затрат между процессами. Википедия (1 июня 2011 г.)
Создать новый экземпляр Sankey.
Необязательные аргументы, перечисленные ниже, применяются ко всем поддиаграммам, обеспечивая единообразное выравнивание и форматирование.
Чтобы нарисовать сложную диаграмму Sankey, создайте экземпляр
Sankey, вызвав его без каких-либо kwargs:sankey = Sankey()
Затем добавьте простые поддиаграммы Sankey:
sankey.add() # 1 sankey.add() # 2 #... sankey.add() # n
Наконец, создайте полную диаграмму:
sankey.finish()
Или вместо этого просто объедините эти вызовы в цепочку:
Sankey().add().add... .add().finish()
- Другие параметры:
-
-
ax
Axes -
Область Axes, на которой следует построить данные. Если ax не задан, будет создана новая область Axes.
- scalefloat
-
Коэффициент масштабирования потоков. Параметр scale определяет ширину путей, чтобы сохранить правильную компоновку. Одинаковый масштаб применяется ко всем поддиаграммам. Значение следует выбрать так, чтобы произведение масштаба на сумму входящих потоков было приблизительно равно 1.0 (а произведение масштаба на сумму исходящих потоков — приблизительно -1.0).
- unitstr
-
Физическая единица измерения величин потоков. Если unit равен None, значения не подписываются.
- formatstr or callable
-
Строка форматирования чисел Python или вызываемый объект, используемый для подписи потоков их значениями (то есть числом и единицей измерения, если она задана). Если указана строка форматирования, подпись будет
format % quantity. Если указан вызываемый объект, он будет вызван с аргументомquantity. - gapfloat
-
Расстояние между путями, которые выходят из верхней или нижней части либо входят в них.
- radiusfloat
-
Внутренний радиус вертикальных путей.
- shoulderfloat
-
Размер выступов выходящих стрелок.
- offsetfloat
-
Смещение текста (от изгиба или кончика стрелки).
- head_anglefloat
-
Угол наконечников стрелок (и противоположный ему угол хвостовых частей) в градусах.
- marginfloat
-
Минимальное расстояние между контурами Sankey и краем области построения.
- 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)[исходный код]
-
Добавить простую диаграмму Sankey с потоками на одном и том же иерархическом уровне.
- Параметры:
-
- patchlabelstr
-
Подпись, размещаемая в центре диаграммы. Обратите внимание: аргумент label (не patchlabel) можно передать как именованный аргумент, чтобы добавить элемент в легенду.
- flowslist of float
-
Массив значений потоков. По соглашению, входящие потоки положительны, а исходящие — отрицательны.
Потоки размещаются вдоль верхней части диаграммы изнутри наружу в порядке их индексов в flows. Вдоль боковых сторон они размещаются сверху вниз, а вдоль нижней части — снаружи внутрь.
Если сумма входящих и исходящих потоков не равна нулю, расхождение будет показано в виде кубической кривой Безье вдоль верхнего и нижнего краёв центральной части.
- orientationslist of {-1, 0, 1}
-
Список направлений потоков (или одно направление, используемое для всех потоков). Допустимые значения: 0 (входящие потоки слева, исходящие справа), 1 (входящие и исходящие потоки сверху) или -1 (входящие и исходящие потоки снизу).
- labelslist of (str or None)
-
Список подписей потоков (или одна подпись, используемая для всех потоков). Каждая подпись может быть равна None (без подписи) или представлять собой строку. Если элемент является строкой (возможно, пустой), значение соответствующего потока будет показано под строкой. Однако если unit основной диаграммы равен None, значения не отображаются независимо от значения этого аргумента.
- trunklengthfloat
-
Расстояние между основаниями групп входящих и исходящих потоков (в единицах пространства данных).
- pathlengthslist of float
-
Список длин вертикальных стрелок до места их входа или после места их выхода. Если задано одно значение, оно будет применено к первым (внутренним) путям сверху и снизу, а длины всех остальных стрелок будут скорректированы соответствующим образом. Параметр pathlengths не применяется к горизонтальным входящим и исходящим потокам.
- priorint
-
Индекс предыдущей диаграммы, с которой следует соединить эту диаграмму.
- connect(int, int)
-
Кортеж (prior, this), задающий индексы потока предыдущей диаграммы и потока этой диаграммы, которые следует соединить. Если это первая диаграмма или prior равен None, аргумент connect игнорируется.
- rotationfloat
-
Угол поворота диаграммы в градусах. Интерпретация аргумента orientations будет соответственно изменена (например, если rotation == 90, значение 1 в orientations означает направление слева или влево). Аргумент rotation игнорируется, если эта диаграмма соединена с существующей (с помощью prior и connect).
- Возвращает:
-
- Sankey
-
Текущий экземпляр
Sankey.
- Другие параметры:
-
- **kwargs
-
Дополнительные именованные аргументы задают свойства
matplotlib.patches.PathPatch, перечисленные ниже. Например, может потребоваться использоватьfill=Falseилиlabel="A legend entry".Свойство
Описание
функция фильтрации, которая принимает массив float формы (m, n, 3) и значение dpi, а возвращает массив формы (m, n, 3) и два смещения от нижнего левого угла изображения
неизвестно
bool
antialiasedилиaabool или None
CapStyleили {'butt', 'projecting', 'round'}BboxBaseили Nonebool
Patch или (Path, Transform) или None
цвет или None
цвет или None
bool
str
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
неизвестно
bool
JoinStyleили {'miter', 'round', 'bevel'}object
{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
float или None
bool
список объектов
AbstractPathEffectNone, bool, float или вызываемый объект
bool
(scale: float, length: float, randomness: float)
bool или None
str
bool
float
См. также
- finish()[исходный код]
-
Настроить область Axes и вернуть список сведений о поддиаграммах Sankey.
Возвращает список поддиаграмм со следующими полями:
Поле
Описание
patch
Контур Sankey (объект
PathPatch).flows
Значения потоков (положительные для входящих потоков и отрицательные для исходящих).
angles
Список углов стрелок [градусы/90]. Например, если диаграмма не повёрнута, входящий поток с верхней стороны имеет угол 3 (ВНИЗ), а исходящий с верхней стороны — угол 1 (ВВЕРХ). Если поток пропущен (поскольку его модуль меньше tolerance), для него будет указано значение None.
tips
Массив формы (N, 2) с координатами (x, y) наконечников (или «углублений») путей потоков. Если модуль потока меньше tolerance этого экземпляра
Sankey, поток пропускается, и его наконечник будет находиться в центре диаграммы.text
Экземпляр
Textдля подписи диаграммы.texts
Список экземпляров
Textдля подписей потоков.См. также
© 2012–2026 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/sankey_api.html