d3 | reusable circle legend
This example shows a reusable circle legend for bubble charts, displaying three concentric circles sized by a square-root scale to represent data values like 8%, 34%, and 89%. Each circle is paired with a dashed tick line and a text label, making the mapping from numeric value to area immediately readable. The code defines a `circleLegend` function that builds SVG elements via `d3.scaleSqrt`, `selection.append`, and chained data joins. Users configure the legend through methods like `.domain()`, `.range()`, and `.values()`, then call `.render()` to draw it, with all defaults adjustable for colors, padding, and suffixes.