One bubble per game, laned by genre on a critic-score axis. Position is the score, bubble area is copies sold, so the crowd-pleasers that also review well sit large and far to the right. Hover any bubble for the title.
scatter.sizeRange: [min, max] turns the beeswarm dots into
area-scaled bubbles, read from each datum's sizeField (here
z). The swarm still packs with no overlap, sized for the largest
bubble, so a third measure rides on the distribution for free. The unit chart
is a premium type, without a license it renders with a trial watermark.