Unfortunately, people are not good at perceiving relative areas of circles. Even though I think using area is a more "honest" interpretation of data, it's not meaningful perceptually. Using radius is maybe less honest, but more visually distinguishable.
That said, circles are actually not great for visualizing relative values, because it's hard for our brains to make 2-dimensional comparisons. Better are lines or rectangles (1-dimensional comparisons, like bar charts).
Nonetheless, circles are common because they look cool and have center points, so they work well to identify points on maps. I love circles — I just wish our brains were better at reading data out of them. :-)
Scott
Whoa, hold up! It's true that length is more accurate than area (and
position more accurate than both), and that people slightly
underestimate increases in area. But that's an argument for using a
different visual encoding, not for distorting the data! It is still
accepted best practice that circles should encode data as area, not
radius. You perceive the number of colored pixels as the amount of
data; you don't perceive the radius directly.
The underestimation effect of area is small and varies greatly from
individual to individual; trying to compensate for the average
underestimation is therefore of little value, just adding unnecessary
complexity. Even so, using radius rather than area distorts much more
significantly (in the other direction) than the average
underestimation.
The d3.svg.symbol encodes area by default, rather than radius. But
<circle> elements are defined in terms of radius, so you typically use
a d3.scale.sqrt to define the area. I'd lean towards area if you're
intending this to be used for visualization. Otherwise, make sure your
examples use area and document best practice.
Mike
Scott