Bowl of Fruit - General Update Pattern Special Cases
This example demonstrates the general update pattern in D3, showing how SVG groups representing fruit are added, removed, and modified. The bowl shape is drawn as a static rectangle, while a dynamic array of apples and lemons is bound to `g` elements using `selection.data`. The code uses `selection.enter`, `selection.merge`, and `selection.exit` to handle entering, updating, and exiting fruits, with circles sized and colored via `d3.scaleOrdinal`. Data is initially five apples, then changes through `pop` and array filtering, rendering via a custom `fruitBowl` function.