matplotlib.sankey
Модуль для создания диаграмм Санки с использованием Matplotlib.
-
class matplotlib.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.
Дополнительные ключевые аргументы:
Поле Описание ax оси, на которых должны быть отображены данные. Если ax не указан, будут созданы новые оси. scale коэффициент масштабирования для потоков. scale изменяет ширину путей для сохранения правильного макета. Один и тот же масштаб применяется ко всем поддиаграммам. Значение следует выбирать таким образом, чтобы произведение масштаба и суммы входов приближалось к 1,0 (и произведение масштаба и суммы выходов приближалось к -1,0). unit строка, представляющая физическую единицу, связанную с величиной потока. Если unit равно None, то величины не подписываются. format строка форматирования чисел Python, которая будет использоваться для подписи потока как величины (т. е. число умножается на единицу, где единица указана) gap расстояние между путями, которые разрываются/отходят от верхней или нижней части radius внутренний радиус вертикальных путей shoulder размер плеч стрелок вывода offset смещение текста (от впадины или кончика стрелки) head_angle угол голов стрелок (и отрицательный угол хвостов) [град] margin минимальное расстояние между контурами Санки и краем области графика tolerance допустимое максимальное значение суммы потоков. Величина суммы связанных потоков не может быть больше tolerance. Дополнительные аргументы, перечисленные выше, применяются ко всем поддиаграммам, чтобы обеспечить согласованное выравнивание и форматирование.
Если
Sankeyсоздается с любыми ключевыми аргументами, кроме явно перечисленных выше (**kwargs), они будут переданыadd(), что создаст первую поддиаграмму.Для построения сложной диаграммы Санки, создайте экземпляр
Sankey, вызвав его без каких-либо аргументов kwargs:sankey = Sankey()
Затем добавьте простые поддиаграммы Санки:
sankey.add() # 1 sankey.add() # 2 #... sankey.add() # n
Наконец, создайте полную диаграмму:
sankey.finish()
Или, вместо этого, просто цепочкой вызовите эти функции:
Sankey().add().add... .add().finish()
См. также
Примеры
-
add(self, patchlabel='', flows=None, orientations=None, labels='', trunklength=1.0, pathlengths=0.25, prior=None, connect=0, 0, rotation=0, **kwargs)[source]
-
-
Добавьте простую диаграмму Санки с потоками на одном и том же иерархическом уровне.
Параметры: -
patchlabelstr -
Метка, которая будет размещена в центре диаграммы. Обратите внимание, что метка (а не patchlabel) может быть передана в качестве ключевого аргумента для создания записи в легенде.
-
flowslist of float -
Массив значений потока. По соглашению, входные значения положительны, а выходные — отрицательны.
Потоки располагаются вдоль верхней части диаграммы отнутри наружу в порядке их индекса в потоках. Они располагаются вдоль боковых сторон диаграммы сверху вниз и вдоль нижней части диаграммы снаружи внутрь.
Если сумма входных и выходных значений не равна нулю, разница будет отображена как кубическая кривая Безье вдоль верхних и нижних границ ствола.
-
orientationslist of {-1, 0, 1} -
Список ориентаций потоков (или одна ориентация для всех потоков). Допустимые значения: 0 (вход слева, выход справа), 1 (сверху и вниз) или -1 (сверху и вниз).
-
labelslist of (str or None) -
Список меток для потоков (или одна метка для всех потоков). Каждая метка может быть None (без метки) или строкой метки. Если запись представляет собой (возможно, пустую) строку, то значение для соответствующего потока будет отображено под строкой. Однако, если единица основной диаграммы равна None, то значения никогда не отображаются, независимо от значения этого аргумента.
-
trunklengthfloat -
Длина между основаниями групп входных и выходных данных (в единицах пространства данных).
-
pathlengthslist of float -
Список длин вертикальных стрелок до разрыва или после него. Если задано одно значение, оно будет применено к первым (внутренним) путям сверху и снизу, а длина всех остальных стрелок будет соответствующим образом выровнена. pathlengths не применяются к горизонтальным входам и выходам.
-
priorint -
Индекс предыдущей диаграммы, к которой должна быть подключена данная диаграмма.
-
connect(int, int) -
Кортеж (предыдущий, текущий), индексирующий поток предыдущей диаграммы и поток этой диаграммы, которые должны быть соединены. Если это первая диаграмма или предыдущий равен None, соединить будет проигнорировано.
-
rotationfloat -
Угол поворота диаграммы в градусах. Интерпретация аргумента orientations будет соответствующим образом повернута (например, если поворот == 90, запись orientations равна 1, это означает влево/вправо). поворот игнорируется, если эта диаграмма подключена к существующей (с использованием предыдущего и соединить).
Возвращает: - Sankey
-
Текущий экземпляр
Sankey.
Другие параметры: - **kwargs
-
Дополнительные ключевые аргументы, устанавливающие свойства
matplotlib.patches.PathPatch, перечисленные ниже. Например, можно использоватьfill=Falseилиlabel="A legend entry".Свойство Описание agg_filterфункция фильтра, которая принимает массив float (m, n, 3) и значение dpi, и возвращает массив float (m, n, 3) alphafloat или None animatedbool antialiasedили aaнеизвестно capstyle{'butt', 'round', 'projecting'} clip_boxBboxclip_onbool clip_pathPatch или (Path, Transform) или None colorцвет containsвызываемая функция edgecolorили ecцвет или None или 'auto' facecolorили fcцвет или None figureFigurefillbool gidстрока hatch{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'} in_layoutbool joinstyle{'miter', 'round', 'bevel'} labelобъект linestyleили ls{'-', '--', '-.', ':', '', (смещение, последовательность включения/выключения), ...} linewidthили lwчисло с плавающей точкой или None path_effectsAbstractPathEffectpickerNone или bool или число с плавающей точкой или вызываемая функция rasterizedbool или None sketch_params(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой) snapbool или None transformTransformurlстрока visiblebool zorderчисло с плавающей точкой
-
-
См. также
-
finish(self)[source] -
Настройте оси и верните список информации о поддиаграмме(ах) Санки.
Возвращаемое значение — список поддиаграмм, представленных следующими полями:
Поле Описание patch Контур Санки (экземпляр PathPatch)flows значения потоков (положительные для входных, отрицательные для выходных) angles список углов стрелок [град/90] Например, если диаграмма не повернута, вход на верхней стороне будет иметь угол 3 (ВНИЗ), а выход с верхней стороны — угол 1 (ВВЕРХ). Если поток пропущен (потому что его величина меньше, чем tolerance), то его угол будет None. tips массив, в котором каждая строка представляет пару [x, y], указывающую положение концов (или «впадин») путей потока. Если величина потока меньше tolerance для экземпляра Sankey, поток пропускается, а его конец будет в центре диаграммы.text экземпляр Textдля метки диаграммыtexts список экземпляров Textдля меток потоковСм. также
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.2.2/api/sankey_api.html