{"version":"1.0","type":"rich","title":"D3 Selection Exploration","description":"This example demonstrates how D3’s data join pattern animates a dynamic set of circles, whose count and vertical positions oscillate sinusoidally over time. Using `d3.select` and `d3.range`, it generates an array of points and binds them to SVG circle elements via `selection.data()` and `selection.join()`, updating `cx` and `cy` attributes each frame. The code runs a `setInterval` at 60fps, recalculating data with a time-based sine wave, while `d3` version 7.6.1 manages enter, update, and exit states automatically.","provider_name":"VizHub AI Studio","provider_url":"https://vizhub.com","html":"<iframe src=\"https://vizhub.com/viz/99f0df763da7429390e4d2420d989ef2?mode=embed\" width=\"960\" height=\"500\" scrolling=\"no\" frameborder=\"0\"></iframe>","width":960,"height":500,"cache_age":3600}