sankey plot

Sankey plot / Sankey diagram / Sankey chart / Alluvial Flow Diagram (Highly Customizable and Publication‑quality)

Download
Download

You are now following this Submission

Editor's Note: This file was selected as MATLAB Central Pick of the Week

Cite As

Zhaoxu Liu / slandarer (2026). sankey plot (https://ch.mathworks.com/matlabcentral/fileexchange/128679-sankey-plot), MATLAB Central File Exchange. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
8.4.2

Add README.mlx

Download
8.4.1

Add description.

Download
8.4.0

New property 'ZeroNodeHeightRatio' and new demo.

Download
8.3.2

debug

Download
8.3.1

Update for biChordChart function.

Download
8.3.0

Added InTotal and OutTotal properties to record total inflow and outflow values for each node.

Download
8.2.5

Fixed a bug where the 'map' rendering method was unavailable when creating Sankey diagrams from adjacency matrices, and resolved the issue of link mismatches caused by adding nodes to previous layers after the diagram had been drawn.

Download
8.2.4

Add nodes and links using the + operator (使用 + 运算符添加节点和链接)
add link: obj + [source, target, value]
add node: obj + {'Name', layer}

Download
8.2.3

Update description and summary.

Download
8.2.2

Improved description.

Download
8.2.1

Increase the movable range of moveBlockX.

Download
8.2.0

Added BezierRatio property to control control-point position for Bezier links

Download
8.1.0

Added arrow head support with properties Arrow ('on'/'off') and ArrowHeadRatio

Download
8.0.0

Added LinkType property to specify the interpolation method for link curves
Added LinkGridSize property to control the number of sampling points
Added rotateSankey function to convert the diagram from horizontal to vertical layout

Download
7.1.0

+ Added 'justify' vertical alignment (新增方块竖直方向两端对齐)
try : obj.Align = 'justify'

Download
7.0.0

Optimized variable and graphics object name display

Download
6.0.8

Update for biChordChart function.

Download
6.0.7

Improved the documentation comments for biChordChart function.

Download
6.0.6

Improved the documentation comments.

Download
6.0.5

debug for sankeyDemo17_2

Download
6.0.4

Add new demo 17_2

Download
6.0.3

Update README.md

Download
6.0.2

Create sankeyDemo0 to show equivalent code.

Download
6.0.1

More detailed error messages for function `mergeAdjMat` have been added.

Download
6.0.0

The globalAdj = mergeAdjMat(layerAdj) function is introduced to create global adjacency matrices. Additionally, three new examples, sankeDemo16 to sankeDemo18, are added.

Download
5.1.0

# version 5.1.0
+ 调整每一层标签位置(Set label location for each layer)
try : obj.setLabelLocation(1, 'left')

Download
5.0.0

+ 左键添加数据提示框,右键隐藏高亮
Left-click to add data tooltip, right-click to hide highlight

Download
4.0.0

+ 增添节点及链接(Add node and link)
try : obj.addNode(name,layer)
try : obj.addLink(source,target,value)

Download
3.1.1

add demo image

Download
3.1.0

% # update 3.1.0(2024-05-15)
see sankeyDemo12.m sankeyDemo13.m
+ 为链接添加显示数值的文本(Display value labels for each link)
try :
SK.ValueLabelLocation='left';

Download
3.0.0

# update 3.0.0(2024-04-15)
+ 通过邻接矩阵创建桑基图(Creating a Sankey diagram through adjacency matrix)
+ 每层情况可被设置(Each layer state can be set)
+ 每个节点可在x方向上位移(Each node can be displaced in the x-direction)

Download
2.0.1

+ Draw a chord-type-sankey-plot with chords flowing towards oneself 【see sankeyDemo6_2.m】

Download
2.0.0

# update 2.0.0(2024-02-04)
see natureSankeyDemo1.m

+ 层向右对齐(Align layers to the right)
try : obj.LayerOrder='reverse';

+ 单独调整每层间隙大小(Adjust the Sep size of each layer separately)
try : obj..Sep=[.2,.06,.05,.07,.07,.08,.15];

Download
1.0.0

Download