{"version":"1.0","type":"rich","title":"ANIMATION","description":"This example demonstrates a dynamic fruit bowl where apples and lemons appear, disappear, and change type over time, governed by a series of timed state updates. It shows how D3's data-join pattern (enter, merge, exit) handles array mutations, with ordinal scales mapping fruit types to colors and radii. The code uses `d3.scaleOrdinal` for styling and SVG `circle` and `text` elements, while rendering is triggered by `setTimeout` callbacks that modify the data array and re-invoke the render function.","provider_name":"VizHub AI Studio","provider_url":"https://vizhub.com","html":"<iframe src=\"https://vizhub.com/viz/a6ffb66b2941466bad275b764f972177?mode=embed\" width=\"960\" height=\"500\" scrolling=\"no\" frameborder=\"0\"></iframe>","width":960,"height":500,"cache_age":3600}