{"version":"1.0","type":"rich","title":"D3 selection exploration","description":"This example explores D3 selections and data joins through an animated visualization. A sinusoidal wave of circles moves across the screen, with the number of circles oscillating based on a time variable. The code uses d3.select and d3.range to generate data, then applies the selection’s `.data()`, `.join()`, and attribute setters to update SVG circle positions each frame. The animation runs via `setInterval` at 60fps, with sine functions driving both the vertical placement and count of circles, demonstrating enter, update, and exit behavior.","provider_name":"VizHub AI Studio","provider_url":"https://vizhub.com","html":"<iframe src=\"https://vizhub.com/viz/274e262ae8e544fd9e55eaa8550d447d?mode=embed\" width=\"960\" height=\"500\" scrolling=\"no\" frameborder=\"0\"></iframe>","width":960,"height":500,"cache_age":3600}