{"version":"1.0","type":"rich","title":"D3 selection exploration","description":"This example demonstrates D3’s data-join and selection patterns by animating a variable number of circles across the screen. It uses `d3.select`, `d3.range`, and the `data()`, `.join()`, and `attr()` methods to bind an array of objects with computed `x` and `y` positions—derived from sine waves—to SVG `<circle>` elements, updating every frame via `setInterval`. The number of circles oscillates between 5 and 15, and the `.join()` method handles enter, update, and exit seamlessly. The visualization runs in a React-free HTML page with a minimal SVG canvas sized to the window.","provider_name":"VizHub AI Studio","provider_url":"https://vizhub.com","html":"<iframe src=\"https://vizhub.com/viz/f508842693b54762952f1c07272a231f?mode=embed\" width=\"960\" height=\"500\" scrolling=\"no\" frameborder=\"0\"></iframe>","width":960,"height":500,"cache_age":3600}