2013-03-08 3 views

Répondre

4

Je ne l'ai pas utilisé rickshaw, mais en regardant cet exemple sur la page d'accueil:

var y_axis = new Rickshaw.Graph.Axis.Y({ 
     graph: graph, 
     orientation: 'left', 
     tickFormat: Rickshaw.Fixtures.Number.formatKMBT, 
     element: document.getElementById('y_axis'), 
}); 

Il semble que vous pouvez passer une fonction à tickFormat. Dans ce cas formatKMBT est passé, et il ressemble à ceci:

Rickshaw.Fixtures.Number.formatKMBT = function(y) { 
    var abs_y = Math.abs(y); 
    if (abs_y >= 1000000000000) { return y/1000000000000 + "T" } 
    else if (abs_y >= 1000000000) { return y/1000000000 + "B" } 
    else if (abs_y >= 1000000) { return y/1000000 + "M" } 
    else if (abs_y >= 1000)  { return y/1000 + "K" } 
    ...ect 

A partir de là, vous pouvez utiliser d3 construit en number formatters ou rouler votre propre. Par exemple:

function yAxisFormat(d){ return d.toFixed(8); } 
4

Voici un exemple:

var yAxis = new Rickshaw.Graph.Axis.Y({ 
      graph: graph, 
      tickFormat: function(y){return y.toPrecision(3)} 
     }); 

Vous pouvez mettre ce que la fonction que vous voulez là.

Questions connexes