{"version":"1.0","type":"rich","title":"D3 Selection Exploration （Cleaner Version)","description":"A clean demonstration of D3 data joins and update patterns, this example animates 15 circles moving vertically with oscillating radii. The visualization separates data generation from rendering: `makeData` computes positions using trigonometric functions, while `vizData` applies the enter-update-exit pattern via `selection.join()`. Built with React and D3 v6, it uses `select`, `range`, and `setInterval` to drive a 60fps animation, rendering circles as SVG elements with dynamic `cx`, `cy`, and `r` attributes.","provider_name":"VizHub AI Studio","provider_url":"https://vizhub.com","html":"<iframe src=\"https://vizhub.com/viz/3d462c53e71142d6a6689f3066d2cb29?mode=embed\" width=\"960\" height=\"500\" scrolling=\"no\" frameborder=\"0\"></iframe>","width":960,"height":500,"cache_age":3600}