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]
-
Основания:
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 или вызываемый объект
-
Строка форматирования чисел Python или вызываемый объект, используемый для подписи потоков с их величинами (т. е. число умножается на единицу, где единица задается). Если задана строка форматирования, подпись будет
format % quantity. Если задан вызываемый объект, он будет вызываться сquantityв качестве аргумента. - gapfloat
-
Пробел между траекториями, которые прерываются/отходят от/к верхней или нижней части.
- radiusfloat
-
Внутренний радиус вертикальных траекторий.
- shoulderfloat
-
Размер плеч стрелок выхода.
- offsetfloat
-
Смещение текста (от изгиба или наконечника стрелки).
- head_anglefloat
-
Угол в градусах наконечников стрелок (и отрицательный угол хвостов).
- marginfloat
-
Минимальное расстояние между контурами Санки и краем области графика.
- tolerancefloat
-
Допустимое максимальное значение величины суммы потоков. Величина суммы соединенных потоков не может быть больше tolerance.
- **kwargs
-
Все дополнительные аргументы keyword будут переданы в
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) может быть передан в качестве аргумента keyword для создания записи в легенде.
- flowsсписок чисел с плавающей точкой
-
Массив значений потока. По соглашению, входы положительны, а выходы отрицательны.
Потоки располагаются по верхней части диаграммы отнутри наружу в порядке их индекса в flows. Они размещаются по сторонам диаграммы сверху вниз и по нижней части снаружи внутрь.
Если сумма входов и выходов не равна нулю, разность отобразится как кубическая кривая Безье по верхнему и нижнему краям ствола.
- orientationsсписок {-1, 0, 1}
-
Список ориентаций потоков (или единая ориентация, которая используется для всех потоков). Допустимые значения: 0 (входы слева, выходы справа), 1 (сверху и снизу) или -1 (снизу вверх).
- labelsсписок (строка или None)
-
Список меток для потоков (или единая метка, которая используется для всех потоков). Каждая метка может быть None (нет метки) или строкой маркировки. Если запись представляет собой (возможно, пустую) строку, то величина соответствующего потока будет показана под строкой. Однако, если unit главной диаграммы равно None, то величины никогда не отображаются, независимо от значения этого аргумента.
- trunklengthfloat
-
Длина между основаниями групп входов и выходов (в единицах данных).
- pathlengthsсписок чисел с плавающей точкой
-
Список длин вертикальных стрелок до разрыва или после него. Если задано одно значение, то оно будет применено к первым (внутренним) траекториям сверху и снизу, и длина всех остальных стрелок будет определена соответственно. 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".Свойство
Описание
функция фильтрации, которая принимает массив float (m, n, 3) и значение dpi, и возвращает массив (m, n, 3) и два смещения от нижнего левого угла изображения
неизвестно
bool
antialiasedили aabool или None
CapStyleили {'butt', 'projecting', 'round'}bool
Объект 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
None или bool или float или вызываемый объект
bool
(масштаб: float, длина: float, случайность: float)
bool или None
строка
bool
float
См. также
-
- 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.6.0/api/sankey_api.html