{"version":"1.0","type":"rich","title":"Brush Handles","description":"This example shows a D3.js scatterplot with 800 random data points, where a brush component selects points along the x-axis. Visible, draggable resize handles replace the default invisible brush boundary, with oversized arc-shaped paths making the interaction area obvious. The code uses `d3.svg.brush`, `d3.svg.arc`, and `d3.svg.axis` with an SVG rendering. Circle opacity changes during selection, and selected points receive a red stroke, while the brush extent itself remains semi-transparent. The data is generated via `d3.range(800).map(Math.random)`.","provider_name":"VizHub AI Studio","provider_url":"https://next.vizhub.com","html":"<iframe src=\"https://next.vizhub.com/viz/gist-1b128bc0e3f27d676638?mode=embed\" width=\"960\" height=\"500\" scrolling=\"no\" frameborder=\"1\"></iframe>","width":960,"height":500,"cache_age":3600}