SankeyChart
The SankeyChart component visualizes the flow of data between multiple nodes. Each link represents a weighted connection from one node to another, making it ideal for showing how values are distributed or transferred across stages.
Result
Loading...
Live Editor
<SankeyChart data={[ ['Node A1', 'Node B1', 100], ['Node A2', 'Node B1', 75], ['Node A3', 'Node B1', 50], ['Node B1', 'Node C1', 150], ['Node B1', 'Node C2', 75], ]} formatType="currency" />
Sequential Coloring
If each column represents a group of related data, the colorMode prop can be used to make sure all nodes in a column are in the same color family.
Result
Loading...
Live Editor
<SankeyChart data={[ ['Node A1', 'Node B1', 50], ['Node A1', 'Node B2', 35], ['Node A1', 'Node B3', 15], ['Node A2', 'Node B1', 30], ['Node A2', 'Node B2', 20], ['Node A2', 'Node B3', 10], ['Node A3', 'Node B1', 50], ['Node A3', 'Node B2', 35], ['Node A3', 'Node B3', 15], ['Node B1', 'Node C1', 130], ['Node B2', 'Node C1', 90], ['Node B3', 'Node C1', 40], ['Node C1', 'Node D1', 260], ['Node D1', 'Node E1', 130], ['Node D1', 'Node E2', 130], ]} formatType="currency" colorMode="sequential" />
Node Offset
If one or more of your nodes needs to be offset, use the nodes prop to set the horizontal and/or vertical offset. See the official Highcharts documentation for more details.
Result
Loading...
Live Editor
<SankeyChart data={[ ['Node A1', 'Node B1', 100], ['Node A2', 'Node B1', 75], ['Node A3', 'Node B1', 50], ['Node B1', 'Node C1', 150], ['Node B1', 'Node C2', 75], ]} formatType="currency" nodes={[ { id: 'Node A1', offsetHorizontal: 100, }, { id: 'Node C2', offsetHorizontal: -100, }, ]} />