【问题标题】:How to format the Y axis values on Rickshaw Graphs如何格式化人力车图上的 Y 轴值
【发布时间】:2013-03-08 14:11:45
【问题描述】:

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

我得到了一个例外,当我的值小于 0.00000100 时,y 轴值以科学格式显示,例如2e-7 表示值 0.00000020

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

【问题讨论】:

    标签: charts d3.js rickshaw


    【解决方案1】:

    我没用过人力车,但是在首页看这个例子:

    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 number formatters 或滚动您自己的。例如:

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

    【讨论】:

      【解决方案2】:

      这是一个例子:

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

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

      【讨论】:

        猜你喜欢
        • 2023-03-05
        • 2015-12-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-06
        • 2013-09-03
        • 1970-01-01
        相关资源
        最近更新 更多