{"version":"1.0","type":"rich","title":"Histogram Smoothing","description":"This visualization demonstrates how repeated iterations of a moving average smooth a histogram of 300 random normal samples into a progressively flatter curve, approximating a Gaussian filter and kernel density estimation. The code uses d3.histogram to bin the data, d3.area to render the histogram on two stacked Canvas elements, and a d3.timer to animate the blur process at 30 FPS. Each frame, the `blur` function averages each bin’s density with its neighbors, while the foreground canvas redraws the area with a semi-transparent fill and the background canvas strokes the current curve with a hue that cycles through time.","provider_name":"VizHub AI Studio","provider_url":"https://vizhub.com","html":"<iframe src=\"https://vizhub.com/viz/b0fef779d2784d98a92102a0351894a8?mode=embed\" width=\"960\" height=\"500\" scrolling=\"no\" frameborder=\"0\"></iframe>","width":960,"height":500,"cache_age":3600}