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, вызвав его без каких-либо дополнительных аргументов: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 или callable
-
Строка форматирования чисел Python или вызываемый объект, используемый для маркировки потоков их величинами (т. е. число умножается на единицу, где единица задана). Если задана строка форматирования, метка будет
format % quantity. Если задан вызываемый объект, он будет вызван сquantityв качестве аргумента. - gapfloat
-
Пробел между путями, которые прерываются/отрываются от/к верху или низу.
- radiusfloat
-
Внутренний радиус вертикальных путей.
- shoulderfloat
-
Размер плеч стрелок вывода.
- offsetfloat
-
Смещение текста (от углубления или кончика стрелки).
- head_anglefloat
-
Угол в градусах стрелок (и отрицательный угол хвостов).
- marginfloat
-
Минимальное расстояние между контурами Санки и краем области графика.
- tolerancefloat
-
Допустимый максимум величины суммы потоков. Величина суммы соединенных потоков не может быть больше tolerance.
- **kwargs
-
Любые дополнительные ключевые аргументы будут переданы в
add(), что создаст первую поддиаграмму.
См. также
Примеры
-
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)
-
Кортеж (предыдущий, этот), индексирующий поток предыдущей диаграммы и поток этой диаграммы, которые должны быть соединены. Если это первая диаграмма или prior равно None, connect будет проигнорировано.
- rotationfloat
-
Угол поворота диаграммы в градусах. Интерпретация аргумента orientations будет повернута соответственно (например, если rotation == 90, запись orientations, равная 1, означает слева направо). rotation игнорируется, если эта диаграмма подключена к существующей (с помощью prior и connect).
Возвращает: - Sankey
-
Текущий экземпляр
Sankey.
-
ax
Дополнительные параметры: - **kwargs
-
Дополнительные ключевые аргументы, устанавливающие свойства
matplotlib.patches.PathPatch, перечисленные ниже. Например, можно использоватьfill=Falseилиlabel="A legend entry".Свойство Описание agg_filterфункция фильтра, которая принимает массив float (m, n, 3) и значение dpi, и возвращает массив (m, n, 3) alphaскаляр или None animatedbool antialiasedили aaнеизвестно capstyleCapStyleили {'butt', 'projecting', 'round'}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 joinstyleJoinStyleили {'miter', 'round', 'bevel'}labelобъект linestyleили ls{'-', '--', '-.', ':', '', (смещение, последовательность вкл-выкл), ...} linewidthили lwчисло с плавающей точкой или None path_effectsAbstractPathEffectpickerNone или bool или число с плавающей точкой или вызываемая функция rasterizedbool sketch_params(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой) snapbool или None transformTransformurlстрока visiblebool zorderчисло с плавающей точкой
См. также
-
finish()[source] -
Корректирует оси и возвращает список информации о поддиаграммах Санки.
Возвращаемое значение — список поддиаграмм, представленных следующими полями:
Поле Описание patch Контур Санки (экземпляр 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.4.3/api/sankey_api.html