d3NoobV5 Reusable Examples - Sankey Diagram - v2 (with drag)
This Sankey diagram visualizes the flow of values between five nodes, with adjustable node positions through drag interactions. The chart uses the reusable chart pattern from Mike Bostock's "Towards Reusable Charts" and incorporates d3.sankey for layout computation, including node breadth and depth algorithms. Rendered in SVG, the code applies d3.drag for node movement and d3.scaleOrdinal with d3.schemeCategory10 for coloring. Links are drawn as curved paths with stroke widths proportional to flow values, and hover effects increase link opacity. The implementation follows Marcos Iglesias' ProD3 modular pattern with dispatchers for custom events.
AI-generated descriptionSimple Sankey Diagram (version 1: static (without drag)):
A vanilla HTML implementation of reusable version of d3Noob's V5 examples.
Examples Malcolm Maclean's (d3noob) great book "D3 Tips and Tricks v5.x Interactive Data Visualization in a Web Browser" (https://leanpub.com/d3-t-and-t-v5).
The reusable template is derived from Mike Bostock's Towards Reusable Charts (https://bost.ocks.org/mike/chart/) as the source of the foundational principles. But uses the ProD3 pattern (Pro D3.js Use D3.js to Create Maintainable, Modular, and Testable Charts by Marcos Iglesias https://www.apress.com/gp/book/9781484252024) as the basis for the charts.
Addtional help from and aknowledgement to:
- Mastering D3.js by Castillo Pablo Navarro. https://www.packtpub.com/web-development/mastering-d3js
- Data Visualization with D3.js Cookbook by Nick Qi Zhu https://www.packtpub.com/product/data-visualization-with-d3-js-cookbook/9781782162162
- Developing A D3.js Edge - Constructing reusable D3 components and charts by Chris Viau Andrew Thornton Ger Hobbelt,Roland Dunn https://www.wileyindia.com/developing-a-d3-js-edge-constructing-reusable-d3-components-and-charts.html.