{"version":"1.0","type":"rich","title":"D3 Practice","description":"Two parallel D3.js panels demonstrate the effect of a key function during data joins. As a button inserts letters one at a time from the alphabet, both panels update their displayed sequence, but only the lower panel uses a key function in its `.data()` call, allowing D3 to track each letter’s identity across transitions. The upper panel, lacking the key, reuses DOM elements by index, causing letters to shift incorrectly. The example uses `d3.select`, `.join()`, and `.transition()` to animate the horizontal positions of styled `div` elements.","provider_name":"VizHub AI Studio","provider_url":"https://vizhub.com","html":"<iframe src=\"https://vizhub.com/viz/e9590a73c03c4eda80e9de2a6ec8d843?mode=embed\" width=\"960\" height=\"500\" scrolling=\"no\" frameborder=\"0\"></iframe>","width":960,"height":500,"cache_age":3600}