Zoomable Treemap Bar Chart
This interactive visualization combines a treemap and a bar chart to show U.S. trade balances across countries and years. Users can click a country to zoom into its trade data, adjusting for inflation via a toggle, with nodes animating to their new positions. Built with D3 v4, the chart uses `d3.json` to load Census data, `d3.hierarchy` for structure, and `d3.scaleBand` and `d3.scaleLinear` for axes. The implementation handles divide-by-zero `NaN` values during treemap transitions.
AI-generated descriptionBlock-a-Day #12. Update of Treemap Bar Chart to enable zooming into a specific country on click.
Data Sources: Census
What I Learned: In a bit of treemap implementation trivia, nodes without a parent value of zero (i.e. those in a different continent than the selected country) will have NaN for their position values, as a result of a divide by zero, while those with a parent value but no value of their own will have position values, although width and height of, obviously, zero. I was originally just catching the NaNs, but this resulted in nodes flying to two different positions, thus the checking of d.value to determine how to position the nodes.
What I'd Do With More Time: Might be interesting if the transition was to vertically expand and fade the non-selected countries, to reinforce the idea of zooming in.
Block-a-Day
Just what it sounds like. For fifteen days, I will make a D3.js v4 block every single day. Rules:
- Ideas over implementation. Do something novel, don't sweat the details.
- No more than two hours can be spent on coding (give or take).
- Every. Single. Day.
Previously
- Map to Force-Directed Graph
- Brushable Scatterplot/Choropleth
- Treemap Bar Chart
- Triangular Scatterplot
- Choropleth with Animated Stripes
- Collatz Conjecture
- Bouncing Logo
- Rectangular Collision Detection
- Demers Catogram
- Gooey Exploding Scatterplot
- Zoomable Choropleth
forked from <a href='http://bl.ocks.org/cmgiven/'>cmgiven</a>'s block: <a href='http://bl.ocks.org/cmgiven/4541f6de7b6fbef482aaa43f3a71f8d4'>Zoomable Treemap Bar Chart</a>
forked from <a href='http://bl.ocks.org/noblemillie/'>noblemillie</a>'s block: <a href='http://bl.ocks.org/noblemillie/61488e11d36467235dfe803f702a4905'>Zoomable Treemap Bar Chart</a>
forked from <a href='http://bl.ocks.org/noblemillie/'>noblemillie</a>'s block: <a href='http://bl.ocks.org/noblemillie/2ee582e828368148c2c2102023733440'>Zoomable Treemap Bar Chart</a>