Bowl of Fruit - General Update Pattern Special Cases
This example demonstrates the general update pattern in D3, showing how to handle data joins when adding, removing, and modifying elements. It uses `d3.scaleOrdinal` for color and radius mapping, with SVG circles and text rendered inside groups. The code creates five apples, then removes one, replaces one with a lemon, and filters out another, animating each change via `setTimeout` and re-rendering with `selection.merge`. The bowl is drawn as a rounded rectangle, and fruit types are color-coded through the ordinal scale.