{"version":"1.0","type":"rich","title":"Bowl of Fruits - General Update Pattern","description":"This example demonstrates the general update pattern in D3, showing how data joins manage enter, update, and exit states for SVG circles. A bowl of apples transitions over time as fruits are removed, replaced with lemons, and filtered out, with each change animating via `transition().duration(1000)`. The code uses `scaleOrdinal` for color and radius scales, `selectAll('circle').data(fruits, d => d.id)` for keyed data binding, and `.enter()`, `.merge()`, and `.exit()` to coordinate lifecycle updates.","provider_name":"VizHub AI Studio","provider_url":"https://vizhub.com","html":"<iframe src=\"https://vizhub.com/viz/c8e519301d8c499aaccee15335a8a0b2?mode=embed\" width=\"960\" height=\"500\" scrolling=\"no\" frameborder=\"0\"></iframe>","width":960,"height":500,"cache_age":3600}