7

Is there a way to abbreviate large numbers on a d3.js axis? I recall seeing a helper method online but cannot find it again. I would like to abbreviate large numbers to reduce my chart margins and make it easier to read.

i.e. 1,000,000 = 1M etc

If anyone can post a link to the d3.js helper class it will be appreciated.

paligap
  • 942
  • 1
  • 12
  • 28
  • 3
    What you're looking for is 'SI prefix', and have a look at [format-a-number-with-si-prefix-with-fixed-number-of-decimals](http://stackoverflow.com/questions/13828003/format-a-number-with-si-prefix-with-fixed-number-of-decimals) and [D3 formatting](https://github.com/mbostock/d3/wiki/Formatting). – havarc Jul 11 '13 at 08:02
  • Thanks havrac for pointing me in the right direction. – paligap Jul 11 '13 at 09:04

2 Answers2

2

Hi check this link: http://bl.ocks.org/zanarmstrong/05c1e95bf7aa16c4768e. Maybe this can help you.

For the axis you can use the following.

chart.yAxis().ticks(5).tickFormat(d3.format("s"));

I used dc.js and d3.js

Hope this can help you

Will
  • 339
  • 3
  • 7
Víctor Cortés
  • 473
  • 4
  • 9
2

Check out this link https://bl.ocks.org/mbostock/9764126

This worked for me for d3 v4:

function make_y_gridlines() {       
        return d3.axisLeft(yScale)
               .ticks(10,"s")

}
Farshad Javadi
  • 419
  • 6
  • 7