This is a demonstration of a bi-directional hierarchical sankey diagram produced in javascript, html and css using d3. (Refresh page to generate new random data)
Sankey diagrams represent flows between nodes by varying the thickness of the connecting links.
This diagram was based off of Mike Bostock's sankey diagram, but additionally incorporates bi-directionality into the flow and caters for hierarchical relationships between nodes to allow drill down into the data.
All javascript code to generate the diagram markup is contained in the app.js
file, but the underlying calculations are performed using a custom plugin: bihisankey.js.