{"version":"1.0","type":"rich","title":"Gist 43fbaf9c6adc2c8fa5ca639d1599e20e","description":"This example shows how D3.js updates existing circle elements when the underlying dataset changes. The visualization binds new data to previously rendered circles, then repositions them by setting their `cx` and `cy` attributes through the `x` and `y` scale functions, which map `gpa` and `height` values to screen coordinates. Using the data join pattern, the code explicitly targets old elements present in the new data array. The scales are defined elsewhere, but the update logic relies on D3’s selection and attribute methods to reflect the changed data without recreating the entire scene.","provider_name":"VizHub AI Studio","provider_url":"https://next.vizhub.com","html":"<iframe src=\"https://next.vizhub.com/viz/gist-43fbaf9c6adc2c8fa5ca639d1599e20e?mode=embed\" width=\"960\" height=\"500\" scrolling=\"no\" frameborder=\"1\"></iframe>","width":960,"height":500,"cache_age":3600}