{"version":"1.0","type":"rich","title":"Bowl of Fruit - General Update Pattern","description":"This example demonstrates the D3 general update pattern with a bowl of fruit animation. It shows how data joins handle entering, updating, and exiting elements: apples disappear, one apple transforms into a lemon, and fruit positions shift accordingly. The code uses `selection.data()`, `selection.enter()`, `selection.exit()`, and `selection.merge()` within a custom `fruitBowl` function, animating circle radii via `transition().duration(1000)`. Fruits are generated with `d3.range` and `Math.random()` IDs, rendered as SVG circles and text elements with a `scaleOrdinal` color scale.","provider_name":"VizHub AI Studio","provider_url":"https://vizhub.com","html":"<iframe src=\"https://vizhub.com/viz/af2003576f6548268999d74a4e0822e7?mode=embed\" width=\"960\" height=\"500\" scrolling=\"no\" frameborder=\"0\"></iframe>","width":960,"height":500,"cache_age":3600}