🏠 back to Observable

Best practice for number formatting (millions)

We could display large numbers in the y-axis of a standard scatterplot in two ways:

  1. Using the standard SI formatting (ex: 1.2M)
  2. Indicating “Millions” in the y-axis title and transforming the values to (1.2)

Is there a best practice for this? What is easier to read? I’m looking for research on the subject. The context is for a scientific journal.

I usually put the multiplier in the axis title. You could check with your journal to see what their standard is, though.

My favorite style, from The New York Times, is to specify the units on the first tick label, and then subsequent ticks are implicitly in the same units:

This way you can look in the normal place to find the units, but you don’t need to repeat the units many times, which adds visual noise.

But this approach is often slightly tedious to implement, and there isn’t always a convenient place for the additional text on the first label (unless you nice the scales and ensure there’s a gap). So if I’m feeling lazy, I’ll just use the SI prefix.


Thanks @mike and @j-f1. I like your ideas.

I just realized that the axis in question for my problem is the x-axis – which would not lend itself well to the “Styled Axes” option Mike proposed. But I did benefit greatly by looking at the formatting code. I think we’ll probably end up going with the journals recommendation (whatever that might be) but I’d like to be in a position to recommend something. Still looking for some references on the subject.

Another related issue is how to format the corresponding values in a hover-over/tooltip. Typically, I’d use the same formatting as the x and y-axis but not sure if we have the room to spell out “millions” etc.

No response needed – except if you happen to come across an academic reference to a best-practice/standard.


1 Like