sankey
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] -
Базовое класс:
objectДиаграмма Санки в matplotlib
Диаграммы Санки — это особый тип диаграмм потоков, в которых ширина стрелок пропорциональна величине потока. Обычно они используются для визуализации передачи энергии, материальных или финансовых потоков между процессами. Wikipedia (6/1/2011)Создаёт новый экземпляр Sankey.
Дополнительные ключевые аргументы:
Поле Описание ax оси, на которые должны быть нанесены данные. Если ax не указан, будут созданы новые оси. scale коэффициент масштабирования потоков. scale масштабирует ширину путей для поддержания правильной компоновки. Один и тот же масштаб применяется ко всем поддиаграммам. Значение следует выбирать таким, чтобы произведение scale и суммы входов приблизительно равно 1.0 (и произведение scale и суммы выходов приблизительно равно -1.0). unit строка, представляющая физическую единицу, связанную с величинами потока. Если unit равно None, то величины потока не будут подписываться. format строка форматирования чисел Python, которая будет использоваться при подписи потока как величины (т.е., число умноженное на единицу, где единица указана) gap пространство между путями, которые разрываются/соединяются с верхним или нижним концом radius внутренний радиус вертикальных путей shoulder размер плеч стрелок выхода offset смещение текста (от впадины или наконечника стрелки) head_angle угол наконечников стрелок (и отрицательный угол хвостов) [град] margin минимальное пространство между контурами Sankey и краем области графика tolerance допустимое максимальное значение суммы потоков. Модуль суммы соединенных потоков не может быть больше tolerance. Все перечисленные выше необязательные аргументы применяются ко всем поддиаграммам, чтобы обеспечить согласованное выравнивание и форматирование.
Если
Sankeyинициализируется с любыми ключевыми аргументами, кроме явно указанных выше (**kwargs), они будут переданы вadd(), что создаст первую поддиаграмму.Для построения сложной диаграммы Санки, создайте экземпляр
Sankey, вызвав его без каких-либо аргументов:sankey = Sankey()
Затем добавьте простые поддиаграммы Санки:
sankey.add() # 1 sankey.add() # 2 #... sankey.add() # n
Наконец, создайте полную диаграмму:
sankey.finish()
Или, вместо этого, просто цепочкой вызовите эти функции:
Sankey().add().add... .add().finish()
Примеры:
-
add(patchlabel='', flows=None, orientations=None, labels='', trunklength=1.0, pathlengths=0.25, prior=None, connect=(0, 0), rotation=0, **kwargs)[source]
-
-
Добавьте простую диаграмму Санки с потоками на одном иерархическом уровне.
Возвращаемое значение — экземпляр
Sankey.Необязательные ключевые аргументы:
Ключевое слово Описание patchlabel метка, которая будет размещена в центре диаграммы Примечание: label (а не patchlabel) будет передан в patch через **kwargsи может использоваться для создания записи в легенде.flows массив значений потоков По соглашению, входы положительны, а выходы отрицательны. orientations список ориентаций путей Допустимые значения — 1 (сверху/вниз), 0 (слева/справа) или -1 (снизу/вверх). Если orientations == 0, входы будут входить слева, а выходы — выходить справа. labels список спецификаций меток для потоков Каждое значение может быть None (без меток), '' (только метка количеств) или строка метки. Если предоставлено единственное значение, оно будет применено ко всем потокам. Если запись является непустой строкой, то количество для соответствующего потока будет показано ниже строки. Однако, если unit основной диаграммы имеет значение None, то количества никогда не отображаются, независимо от значения этого аргумента. trunklength длина между основаниями входных и выходных групп pathlengths список длин стрелок до разветвления или после разветвления Если задано одно значение, оно будет применено к первым (внутренним) путям вверху и внизу, а длина всех остальных стрелок будет рассчитана соответственно. Параметр pathlengths не применяется к горизонтальным входным и выходным значениям. prior индекс предыдущей диаграммы, к которой должна быть подключена эта диаграмма connect кортеж (previous, this) индексирования потока предыдущей диаграммы и потока этой диаграммы, которые должны быть соединены Если это первая диаграмма или prior равно None, connect будет проигнорировано. rotation угол поворота диаграммы [град] rotation игнорируется, если эта диаграмма подключена к существующей (с помощью prior и connect). Интерпретация аргумента orientations будет соответственно повернута (например, если rotation == 90, запись orientations со значением 1 означает слева/справа). Допустимые значения kwargs — аргументы
matplotlib.patches.PathPatch():Свойство Описание agg_filterфункция фильтра, которая принимает (m, n, 3) массив с плавающей запятой и значение dpi и возвращает (m, n, 3) массив alphaчисло с плавающей запятой или None animatedбулево значение antialiasedили aaбулево значение или None capstyle['butt' | 'round' | 'projecting'] clip_boxэкземпляр Bboxclip_onбулево значение clip_path[( Path,Transform) |Patch| None]colorспецификация цвета matplotlib containsвызываемая функция edgecolorили ecспецификация цвета mpl, None, 'none' или 'auto' facecolorили fcспецификация цвета mpl или None для значения по умолчанию, или 'none' для отсутствия цвета figureэкземпляр Figurefillбулево значение gidстрока идентификатора hatch['/' | '\' | '|' | '-' | '+' | 'x' | 'o' | 'O' | '.' | '*'] joinstyle['miter' | 'round' | 'bevel'] labelобъект linestyleили ls['solid' | 'dashed', 'dashdot', 'dotted' | (offset, on-off-dash-seq) | '-'|'--'|'-.'|':'|'None'|' '|'']linewidthили lwчисло с плавающей запятой или None по умолчанию path_effectsAbstractPathEffectpicker[None | булево значение | число с плавающей запятой | вызываемая функция] rasterizedбулево значение или None sketch_params(масштаб: число с плавающей запятой, длина: число с плавающей запятой, случайность: число с плавающей запятой) snapбулево значение или None transformTransformurlстрока url visibleбулево значение zorderчисло с плавающей запятой В качестве примеров,
fill=Falseиlabel='A legend entry'. По умолчанию,facecolor='#bfd1d4'(светло-голубой) иlinewidth=0.5.Параметры индексирования (prior и connect) нумеруются с нуля.
-
Потоки размещаются сверху диаграммы, от внутренней части к внешней, в порядке их индекса в списке или массиве flows. Они размещаются по бокам диаграммы сверху вниз и по нижней части — снаружи вовнутрь.
Если сумма входных и выходных данных не равна нулю, расхождение будет отображено в виде кубической кривой Безье по верхним и нижним границам ствола.
См. также
-
finish()[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/2.2.3/api/sankey_api.html