5

我想使用 http://code.shutterstock.com/rickshaw/的 Javascript 图表

我让它为一个例外工作,当我的值小于 0.00000100 时,y 轴值以科学格式显示,例如 2e-7 表示值 0.00000020

如何让它显示 0.00000020 而不是 2e-7 ?

4

2 回答 2

4

我没用过人力车,但是看主页上的这个例子:

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

看起来您可以将函数传递给 tickFormat。在这种情况下formatKMBT被传递,它看起来像这样:

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

从这里,您可以使用 d3 内置的数字格式化程序或自己滚动。例如:

function yAxisFormat(d){ return d.toFixed(8); }
于 2013-06-07T22:07:09.847 回答
4

这是一个例子:

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

你可以在那里放任何你想要的功能。

于 2013-10-03T05:54:06.910 回答