Spec-Zone.ru › Matplotlib

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()
Другие параметры:
axAxes

Область 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, который создаст первую поддиаграмму.

См. также

Sankey.add
Sankey.finish

Примеры

(Source code)

(2x.png, png)

(2x.png, png)

(2x.png, png)

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".

Свойство

Описание

agg_filter

функция фильтрации, которая принимает массив float формы (m, n, 3) и значение dpi, а возвращает массив формы (m, n, 3) и два смещения от нижнего левого угла изображения

alpha

неизвестно

animated

bool

antialiased или aa

bool или None

capstyle

CapStyle или {'butt', 'projecting', 'round'}

clip_box

BboxBase или None

clip_on

bool

clip_path

Patch или (Path, Transform) или None

color

цвет

edgecolor или ec

цвет или None

facecolor или fc

цвет или None

figure

Figure или SubFigure

fill

bool

gid

str

hatch

{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}

hatch_linewidth

неизвестно

in_layout

bool

joinstyle

JoinStyle или {'miter', 'round', 'bevel'}

label

object

linestyle или ls

{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}

linewidth или lw

float или None

mouseover

bool

path_effects

список объектов AbstractPathEffect

picker

None, bool, float или вызываемый объект

rasterized

bool

sketch_params

(scale: float, length: float, randomness: float)

snap

bool или None

transform

Transform

url

str

visible

bool

zorder

float

См. также

Sankey.finish
finish()[исходный код]

Настроить область Axes и вернуть список сведений о поддиаграммах Sankey.

Возвращает список поддиаграмм со следующими полями:

Поле

Описание

patch

Контур Sankey (объект PathPatch).

flows

Значения потоков (положительные для входящих потоков и отрицательные для исходящих).

angles

Список углов стрелок [градусы/90]. Например, если диаграмма не повёрнута, входящий поток с верхней стороны имеет угол 3 (ВНИЗ), а исходящий с верхней стороны — угол 1 (ВВЕРХ). Если поток пропущен (поскольку его модуль меньше tolerance), для него будет указано значение None.

tips

Массив формы (N, 2) с координатами (x, y) наконечников (или «углублений») путей потоков. Если модуль потока меньше tolerance этого экземпляра Sankey, поток пропускается, и его наконечник будет находиться в центре диаграммы.

text

Экземпляр Text для подписи диаграммы.

texts

Список экземпляров Text для подписей потоков.

См. также

Sankey.add

© 2012–2026 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/sankey_api.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API