Assignment 5
This scatterplot maps the attack and defense stats of 151 Generation 1 Pokémon. It was designed to illustrate the visual impact of encodings, and it presents an intentionally broken version that uses a blue color ramp for the categorical Pokémon type and defense on point shape, before a repaired version corrects the design. The repaired chart encodes type using distinct hues for a legend, shows defense through y-position, and adds HP via circle area, with the Pokémon Cloyster highlighted.
In both implementations, the static SVG graphic is generated on page load using D3 v7 APIs, including `d3.csv` to load the data, `d3.extent` and `d3.scaleLinear` to compute scales, and `d3.axisBottom` and `d3.axisLeft` to render the axes. A top summary section reports the dataset's row and column counts, plus the minimum, maximum, mean, and median attack values.