Sized Donut Multiples
Sized Donut Multiples uses d3.pie and d3.arc to render three donut charts, one per case in a CSV dataset, with each donut’s radius scaled by the square root of its total energy consumption via d3.scaleSqrt. The code uses d3-selection’s `.each()` to bind parent and child data, filtering and ordering arcs according to a predefined category list. Arcs are colored by category via a hardcoded palette, with labels showing the case name, total value, and unit. The SVG output is a technical demonstration, not recommended for comparing distributions across cases.
AI-generated descriptionThis example demonstrates how to use selection.each to create a context to access parent and child data simultaneously. The donut multiples are sized such that the area of each donut is proportionate to the total population, such that the area of the arcs is comparable across states.
This is a technical demonstration rather than a design recommendation; you probably don’t want to use this visual form. A normalized stacked bar chart is better at comparing the age distribution across states, and a stacked or grouped bar chart is better at comparing absolute values.
forked from <a href='http://bl.ocks.org/mbostock/'>mbostock</a>'s block: <a href='http://bl.ocks.org/mbostock/4c5fad723c87d2fd8273'>Sized Donut Multiples</a>