Bowl of Fruit - General Update Pattern
A bowl of fruit demonstrates the general update pattern. Five circles represent apples visually, and over time the data changes: fruits are removed, a type changes from apple to lemon, and another fruit is deleted. The visualization shows how the D3.js update pattern handles these enter, update, and exit states through a `fruitBowl` function. Using `scaleOrdinal` for color and radius, circles transition their size, position, and fill over one second. The animation uses `.transition().duration(1000)` to smoothly animate these changes, while the exit transition shrinks circles to a radius of zero before removal.