【问题标题】:Best way to show Y axis values in Millions of £以百万英镑显示 Y 轴值的最佳方式
【发布时间】:2017-08-09 15:01:51
【问题描述】:

我有这种格式的数据:

[{"EndDate":"2012","Value":26473660},
 {"EndDate":"2013","Value":54296732},
 {"EndDate":"2014","Value":64063400},
 {"EndDate":"2015","Value":81812464},
 {"EndDate":"2016","Value":86899274}]

我已经成功地渲染了一个条形图。但是,Y 轴值在比例上下仅显示“000”。

这里是 y 轴的相关代码部分。

var y = d3.scale.linear()
        .range([height, 0]);

....

var yAxis = d3.svg.axis()
        .scale(y)
        .orient("left");

....

y.domain([0, d3.max(dataset, function(d) { return d.Value; })]);

....

        svg.append("g") //Y AXIS ENTER
        .attr("class", "y axis")
        .call(yAxis)
    .append("text")
        .attr("transform", "rotate(-90)")
        .attr("y", 6)
        .attr("dy", ".71em")
        .style("text-anchor", "end")
        .text("Value in £");

我在 bostocks 网站上查看了 d3.ticks/d3.tickFormat 函数,但没有关注实际情况。本质上,我想展示一种用于显示百万的简写方式:0M、10M、20M、30M.. 以获得简单的解决方案。

如有重复请见谅。它可能是但似乎找不到适用于我的数据集风格的解决方案:/

提前致谢。

【问题讨论】:

    标签: javascript d3.js


    【解决方案1】:
    猜你喜欢
    • 2013-11-23
    • 2017-11-21
    • 1970-01-01
    • 1970-01-01
    • 2015-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多