Bowl of Fruit - General Update Pattern Special Cases
This example demonstrates the general update pattern in D3 v5, showing how to handle enter, update, and exit selections for a simple bowl of fruit visualization. A row of apples is displayed as circles and text, with fruits being removed, replaced, and filtered over time using `setTimeout`. The code uses `selection.data()`, `selection.enter()`, `selection.merge()`, and `selection.exit()` to manage SVG groups, while `scaleOrdinal` maps fruit types to colors and radii. The rendering approach is SVG-based, with the fruit positions computed via `translate` transformations inside the `fruitBowl` function.