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Диаграмма Санки.
Диаграммы Санки — это особый тип диаграмм потоков, в которых ширина стрелок отображается пропорционально величине потока. Обычно они используются для визуализации передачи энергии, материальных ресурсов или затрат между процессами. Википедия (01.06.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 задает размер ширины путей для поддержания правильной компоновки. Один и тот же масштаб применяется ко всем поддиаграммам. Значение должно быть выбрано таким образом, чтобы произведение scale и суммы входов приблизительно равнялось 1,0 (а произведение scale и суммы выходов приблизительно -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список float
-
Массив значений потока. По соглашению, входы положительные, а выходы отрицательные.
Потоки располагаются вдоль верха диаграммы отнутри наружу в порядке их индекса в flows. Они располагаются вдоль сторон диаграммы сверху вниз и по низу снаружи вовнутрь.
Если сумма входов и выходов не равна нулю, разность будет отображена как кубическая кривая Безье вдоль верхних и нижних граней ствола.
- orientationsсписок {-1, 0, 1}
-
Список ориентаций потоков (или единственная ориентация, которая будет использоваться для всех потоков). Допустимые значения — 0 (входы слева, выходы справа), 1 (сверху и вниз) или -1 (сверху и вниз).
- labelsсписок (str или None)
-
Список меток для потоков (или одна метка, которая будет использоваться для всех потоков). Каждая метка может быть None (нет метки) или строкой для маркировки. Если запись является (возможно, пустой) строкой, то значение соответствующего потока будет показано под строкой. Однако, если unit основной диаграммы равен None, тогда значения никогда не отображаются, независимо от значения этого аргумента.
- trunklengthfloat
-
Длина между основаниями групп ввода и вывода (в единицах данных).
- pathlengthsсписок float
-
Список длин вертикальных стрелок перед разрывом или после отхода. Если задано единственное значение, то оно будет применено к первым (внутренним) путям сверху и снизу, а длина всех остальных стрелок будет рассчитана соответствующим образом. pathlengths не применяется к горизонтальным входам и выходам.
- priorint
-
Индекс предыдущей диаграммы, к которой должна быть подключена эта диаграмма.
- connect(int, int)
-
Кортеж (previous, current), индексирующий поток предыдущей диаграммы и поток текущей диаграммы, которые должны быть соединены. Если это первая диаграмма или 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]
-
Настройте оси и верните список информации о поддиаграмме(ах) Sankey.
Значение возврата — список поддиаграмм, представленных с помощью следующих полей:
Поле
Описание
patch
Контур Sankey (экземпляр
PathPatch)flows
значения потоков (положительные для входных, отрицательные для выходных)
angles
список углов стрелок [градусы/90] Например, если диаграмма не была повернута, вход на верхнюю сторону будет иметь угол 3 (ВНИЗ), а выход с верхней стороны — угол 1 (ВВЕРХ). Если поток был пропущен (потому что его величина меньше, чем tolerance), то его угол будет None.
tips
массив, в котором каждая строка — пара [x, y], указывающая положение концов (или «впадин») путей потока. Если величина потока меньше, чем tolerance для экземпляра
Sankey, поток пропускается, и его конец будет находиться в центре диаграммы.text
экземпляр
Textдля метки диаграммыtexts
список экземпляров
Textдля меток потоковСм. также
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.5.1/api/sankey_api.html