matplotlib.sankey

使用Matplotlib创建Sankey图的模块。

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)[源代码]

基类:object

三键图。

sankey图是一种特定类型的流程图,其中箭头的宽度与流量成比例显示。它们通常用于可视化过程之间的能源、材料或成本转移。 Wikipedia (6/1/2011)

创建新的sankey实例。

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

为了绘制复杂的sankey图,请创建 Sankey 称之为无障碍:

sankey = Sankey()

然后添加简单的sankey子图:

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

最后,创建完整的图表:

sankey.finish()

或者,简单地用菊花链把这些电话:

Sankey().add().add...  .add().finish()
其他参数:
axAxes轴线

应绘制数据的轴。如果 ax 如果未提供,将创建新轴。

scale浮动

流量的比例因子。 规模 调整路径的宽度以保持正确的布局。相同的比例应用于所有子图。应选择该值,使标度与输入之和的乘积约为1.0(标度与输出之和的乘积约为-1.0)。

unitSTR

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

formatSTR

一个Python数字格式字符串,用于将流标记为一个数量(即,一个数字乘以一个单位,其中单位是给定的)。

gap浮动

从顶部或底部切入/脱离的路径之间的间距。

radius浮动

垂直路径的内半径。

shoulder浮动

输出箭头肩部的大小。

offset浮动

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

head_angle浮动

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

margin浮动

Sankey轮廓和绘图区域边缘之间的最小空间。

tolerance浮动

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

**kwargs

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

实例

(Source code ()

../_images/sankey_basics_00_00.png

(png _, pdf

../_images/sankey_basics_00_01.png

(png _, pdf

../_images/sankey_basics_00_02.png

(png _, pdf

add(patchlabel='', flows=None, orientations=None, labels='', trunklength=1.0, pathlengths=0.25, prior=None, connect=(0, 0), rotation=0, **kwargs)[源代码]

添加一个简单的sankey图,其中流处于同一层次结构级别。

参数:
patchlabelSTR

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

flows浮动列表

流值数组。按照惯例,投入为正,产出为负。

流按其索引的顺序从内到外沿图的顶部放置 . 它们从上到下沿图的侧面放置,从外向内沿底部放置。

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

orientations{-1,0,1}的列表

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

labels列表(str或None)

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

trunklength浮动

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

pathlengths浮动列表

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

prior利息

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

connect(内景,内景)

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

rotation浮动

图表的旋转角度(度)。对 取向 参数将相应地旋转(例如,如果 旋转 = 90,一个 取向 输入1表示从左到右)。 旋转 如果此关系图连接到现有关系图(使用 先前的连接

返回:
桑基

The current Sankey instance.

其他参数:
**kwargs

附加关键字参数集 matplotlib.patches.PathPatch 属性,如下所示。例如,可能需要使用 fill=Falselabel="A legend entry" .

财产 描述
agg_filter 一种过滤函数,它接受一个(m,n,3)浮点数组和一个dpi值,并返回一个(m,n,3)数组。
alpha 浮动或无
animated 布尔
antialiased 或者aa 未知的
capstyle “对接”、“圆形”、“突出”
clip_box Bbox
clip_on 布尔
clip_path 面片或(路径、变换)或无
color 颜色
contains 未知的
edgecolor 或ec 颜色或无或“自动”
facecolor 或fc 颜色或无
figure Figure
fill 布尔
gid STR
hatch '/'、''、''、'-'、'+'、'X'、'O'、'O'、'、'、'*'
in_layout 布尔
joinstyle 'miter'、'round'、'bevel'
label 对象
linestyle 或ls '-'、'-'、'-'、'-'、':'、'、'、'(偏移量、开/关顺序)、…
linewidth 或lw 浮动或无
path_effects AbstractPathEffect
picker 无、布尔或可呼叫
rasterized 布尔或无
sketch_params (比例:浮动,长度:浮动,随机性:浮动)
snap 布尔或无
transform Transform
url STR
visible 布尔
zorder 浮动

参见

Sankey.finish
finish()[源代码]

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

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

描述
补丁 sankey outline(的一个实例 PathPatch
流量值(输入为正,输出为负)
箭头角度列表 [deg/90] 例如,如果图表未旋转,则顶部的输入角度为3(向下),顶部的输出角度为1(向上)。如果流量被跳过(因为其大小小于 容忍 ,那么它的角度是 None .
tips 每行都是一个 [x, y] 如果流量的大小小于 容忍 例如 Sankey ,跳过流,其尖端将位于图的中心。
text Text 关系图标签的实例
课文 名单 Text 流标签的实例

参见

Sankey.add