A Sankey Series visualises movement or change between different items, using nodes and links.
Simple Sankey Copy Link
To create a Sankey Series, use the sankey series type.
{
series: [
{
type: 'sankey',
fromKey: 'from',
toKey: 'to',
sizeKey: 'size',
},
],
}
In this configuration:
fromKeydefines the start node of each link.toKeydefines the end node of each link.sizeKeydefines the size of each link.
Circular loops are not allowed in Sankey diagrams, and links forming a circular loop will be removed.
Node Layout Copy Link
Horizontal Alignment Copy Link
The horizontal placement of the nodes can be customised using the alignment property on node.
{
series: [
{
type: 'sankey',
fromKey: 'from',
toKey: 'to',
sizeKey: 'size',
node: {
alignment: 'left',
},
},
],
}
There are four values supported:
leftmoves nodes as far left as possible.rightmoves nodes as far right as possible.centermoves nodes as close to the centre as possible.justifymoves nodes as far left as possible, except for the last nodes, which are pushed right.
Vertical Alignment Copy Link
The vertical placement of the nodes can be customised using the verticalAlignment property on node.
{
series: [
{
type: 'sankey',
fromKey: 'from',
toKey: 'to',
sizeKey: 'size',
node: {
verticalAlignment: 'top',
},
},
],
}
There are three values supported:
topmoves nodes as far up as possible.bottommoves nodes as far down as possible.centerplaces the nodes in the middle and distributes evenly in each direction.
Sorting Copy Link
The order of the nodes can be customised using the sort property on node.
There are three values supported:
datasorts nodes in the same order as they first appear in thedataarray.ascendinganddescendingsort nodes alphanumerically by their displayed labels.autosorts nodes to reduce overlapping links and produce a cleaner layout.
Label Placement Copy Link
Labels can be placed to the left, right or centred over nodes using the placement property.
The optional edgePlacement property sets the first and last node labels to 'inside' or 'outside', defaulting to the placement value if unspecified.
Customisation Copy Link
Node Style Copy Link
The styling of all nodes can be customised using the node property.
{
series: [
{
type: 'sankey',
fromKey: 'from',
toKey: 'to',
sizeKey: 'size',
node: {
fill: '#34495e',
stroke: '#2c3e50',
strokeWidth: 2,
},
},
],
}
Link Style Copy Link
The styling of all links can be customised using the link property.
{
series: [
{
type: 'sankey',
fromKey: 'from',
toKey: 'to',
sizeKey: 'size',
link: {
fill: '#34495e',
fillOpacity: 0.25,
stroke: '#2c3e50',
strokeWidth: 1,
strokeOpacity: 0.25,
},
},
],
}