Matplotlib is hiring a Research Software Engineering Fellow! See discourse for details. Apply by January 3, 2020

Version 3.1.1
matplotlib
Fork me on GitHub

目录

Related Topics

三键

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

Matplotlib中的sankey图

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

创建新的sankey实例。

可选关键字参数:

描述
ax 数据应绘制到的轴,如果 ax 未提供,将创建新轴。
规模 流量比例系数 规模 调整路径的宽度以保持正确的布局。相同的比例应用于所有子图。应选择该值,使标度与输入之和的乘积约为1.0(标度与输出之和的乘积约为-1.0)。
unit 表示与流量相关联的物理单位的字符串,如果 unit 如果为“无”,则不标记任何数量。
格式 用于将流标记为一个数量的python数字格式字符串(即,在给定单位的情况下,一个单位的数字乘以一个单位)。
gap 进入/离开顶部或底部的路径之间的空间
半径 垂直路径的内半径
输出箭头的肩部大小
抵消 文本偏移(从箭头的倾斜或尖端)
head_angle 箭头的角度(和尾部角度的负值) [deg]
边缘 Sankey轮廓和绘图区域边缘之间的最小空间
容忍 流量总和的可接受最大值连接流量总和的大小不能大于 容忍 .

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

如果 Sankey 用上面显式列出的任何关键字参数实例化 (**kwargs ,它们将被传递给 add() 将创建第一个子图。

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

sankey = Sankey()

然后添加简单的sankey子图:

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

最后,创建完整的图表:

sankey.finish()

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

Sankey().add().add...  .add().finish()

参见

add() finish()

例子:

(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图,其中流处于同一层次结构级别。

返回值是的实例 Sankey .

可选关键字参数:

关键字 描述
标签标签 要放置在图表中心的标签注: 标签 (不是) 标签标签 )将通过 **kwargs 并可用于在图例中创建条目。
按约定的流值数组,输入为正,输出为负。
取向 路径的方向列表有效值为1(从/到顶部)、0(从/到左侧或右侧)或-1(从/到底部)。如果 取向 ==0,输入从左断开,输出从右断开。
标签 流量标签规格列表每个值可能 None (无标签)、“”(仅标记数量)或标签字符串。如果提供单个值,它将应用于所有流。如果条目是非空字符串,则相应流的数量将显示在字符串的下方。但是,如果 unit 主图表的值为“无”,则无论此参数的值如何,都不会显示数量。
树干长度 输入组和输出组的基极之间的长度
路径长度 如果给定一个值,则会将其应用于顶部和底部的第一条(内部)路径,并且所有其他箭头的长度将相应调整。这个 路径长度 不适用于水平输入和输出。
先前的 此图应连接到的上一个图的索引
连接 一个(prior,this)元组,用于索引前一个图的流和此图的流,如果这是第一个图或 先前的None连接 将被忽略。
旋转 图的旋转角度 [deg] 旋转 如果此关系图连接到现有关系图(使用 先前的连接 )解释 取向 参数将相应地旋转(例如,如果 旋转 = 90,一个 取向 输入1表示从左到右)。

有效Kwargs是 matplotlib.patches.PathPatch() 争论:

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

作为例子, fill=Falselabel='A legend entry' . 默认情况下, facecolor='#bfd1d4' (浅蓝色)和 linewidth=0.5 .

索引参数( 先前的连接 )是从零开始的。

这些流按其索引在图中的顺序从内到外放置在图的顶部。 列表或数组。它们从上到下沿图表的两侧放置,从外到内沿底部放置。

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

参见

finish()

finish()[源代码]

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

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

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

参见

add()