matplotlib.sankey#

使用 Matplotlib 创建桑基图的模块。

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 ) [来源]#

基地:object

桑基图。

桑基图是一种特定类型的流程图,其中箭头的宽度与流量成比例。它们通常用于可视化流程之间的能源或材料或成本转移。 维基百科(2011 年 6 月 1 日)

创建一个新的 Sankey 实例。

下面列出的可选参数适用于所有子程序框图,以便保持一致的对齐和格式。

为了绘制一个复杂的桑基图, Sankey通过调用它来创建一个不带任何 kwargs 的实例:

sankey = Sankey()

然后添加简单的 Sankey 子图:

sankey.add() # 1
sankey.add() # 2
#...
sankey.add() # n

最后,创建完整的图表:

sankey.finish()

或者,相反,只需菊花链式调用这些调用:

Sankey().add().add...  .add().finish()
其他参数
斧头Axes

应在其上绘制数据的轴。如果未提供ax,则将创建新的 Axes。

刻度浮动

流量的比例因子。缩放路径的宽度以保持正确的布局。相同的比例适用于所有子程序框图。应选择该值,使得比例与输入总和的乘积约为 1.0(比例与输出总和的乘积约为 -1.0)。

单位字符串

与流量相关的物理单位。如果单位 为无,则不标记任何数量。

格式str 或可调用

一个 Python 数字格式字符串或可调用的,用于用它们的数量来标记流(即,数字乘以一个单位,其中单位是给定的)。如果给出格式字符串,则标签将为 . 如果给定了可调用对象,它将作为参数调用。format % quantityquantity

间隙浮动

进入/脱离顶部或底部的路径之间的空间。

半径浮动

垂直路径的内半径。

浮式

输出箭头的肩部大小。

偏移浮动

文本偏移(从箭头的倾角或尖端)。

head_angle浮点数

箭头的角度,以度为单位(和尾部角度的负数)。

边距浮动

Sankey 轮廓与绘图区域边缘之间的最小间距。

公差浮动

流量总和大小的可接受最大值。连接流之和的大小不能大于 容差

**kwargs

任何其他关键字参数都将传递给add(),这将创建第一个子图。

也可以看看

Sankey.add
Sankey.finish

例子

源代码

../_images/sankey_basics_00_00.png

( PNG ) #

../_images/sankey_basics_00_01.png

( PNG ) #

../_images/sankey_basics_00_02.png

( PNG ) #

添加补丁标签= ''=方向=标签= ''主干长度= 1.0路径长度= 0.25先验=连接= 0,0)旋转= 0 ** kwargs[来源] #

添加一个简单的桑基图,其中包含同一层次级别的流。

参数
补丁标签str

标签放置在图表的中心。请注意,label(不是patchlabel)可以作为关键字参数传递以在图例中创建条目。

浮动的流列表

流量值数组。按照惯例,输入为正,输出为负。

流按其在流中的索引顺序从内向外沿图表顶部放置。它们从上到下沿着图表的两侧放置,从外到内沿着底部放置。

如果输入和输出的总和不为零,则差异将显示为沿树干顶部和底部边缘的三次贝塞尔曲线。

{-1, 0, 1} 的方向列表

流的方向列表(或用于所有流的单个方向)。有效值为 0(从左侧输入,从右侧输出)、1(从顶部到顶部)或 -1(从底部到底部)。

(str 或 None)的标签列表

流的标签列表(或用于所有流的单个标签)。每个标签可以是None(无标签),也可以是标签字符串。如果条目是(可能为空)字符串,则相应流的数量将显示在字符串下方。但是,如果主图的单位是无,那么无论此参数的值如何,都不会显示数量。

树干长度浮动

输入和输出组的基数之间的长度(以数据空间为单位)。

浮点数的路径长度列表

插入前或分离后垂直箭头的长度列表。如果给定一个值,那么它将应用于顶部和底部的第一个(内部)路径,并且所有其他箭头的长度将相应地调整。路径长度 不适用于水平输入和输出。

先验整数

此图应连接到的先前图的索引。

连接(整数,整数)

一个 (prior, this) 元组索引先前图的流程和应该连接的该图的流程。如果这是第一个图或先验None,则connect将被忽略。

旋转浮子

图表的旋转角度,以度为单位。方向参数的解释将相应地旋转(例如,如果 旋转== 90,则方向条目 1 表示向/从左侧)。如果此图连接到现有图(使用先验连接) ,则忽略旋转。

返回
桑基

当前Sankey实例。

其他参数
**kwargs

附加关键字参数集matplotlib.patches.PathPatch 属性,如下所列。例如,一个人可能想要使用 fill=Falseor 。label="A legend entry"

财产

描述

agg_filter

一个过滤器函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组和距图像左下角的两个偏移量

alpha

未知

animated

布尔

antialiased或aa

布尔或无

capstyle

CapStyle或 {'butt', 'projecting', 'round'}

clip_box

Bbox

clip_on

布尔

clip_path

补丁或(路径,变换)或无

color

颜色

edgecolor或 ec

颜色或无

facecolor或 fc

颜色或无

figure

Figure

fill

布尔

gid

字符串

hatch

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

in_layout

布尔

joinstyle

JoinStyle或 {'miter', 'round', 'bevel'}

label

目的

linestyle或 ls

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

linewidth或 lw

浮动或无

mouseover

布尔

path_effects

AbstractPathEffect

picker

None 或 bool 或 float 或可调用

rasterized

布尔

sketch_params

(比例:浮动,长度:浮动,随机性:浮动)

snap

布尔或无

transform

Transform

url

字符串

visible

布尔

zorder

漂浮

也可以看看

Sankey.finish
完成( ) [来源] #

调整轴并返回有关 Sankey 子图的信息列表。

返回值是用以下字段表示的子图列表:

场地

描述

修补

桑基大纲( 的一个实例 PathPatch

流动

流量值(输入为正,输出为负)

角度

箭头的角度列表 [deg/90] 例如,如果图表没有旋转,顶侧的输入将具有 3 (DOWN) 的角度,而顶侧的输出将具有1(上)。如果流已被跳过(因为它的大小小于容差),那么它的角度将为None

提示

数组,其中每一行是一个 [x, y] 对,指示流动路径的尖端(或“倾角” )Sankey位置提示将位于图表的中心。

文本

Text图表标签的实例

文本

Text流标签的实例列表

也可以看看

Sankey.add