General Update Pattern1
This example demonstrates the D3 general update pattern, showing how data joins handle entering, updating, and exiting circles. Five fruit circles animate through transitions: apples disappear, one becomes a lemon, and new fruits are added over time. The code uses `selection.selectAll`, `.data()` with a key function, `.enter()`, `.merge()`, and `.exit()` combined with `transition().duration()` to animate radius and position changes. Scales include `scaleOrdinal` for color and radius mapping, rendered as SVG with a gradient background.