以百万英镑显示 Y 轴值的最佳方式

Posted

技术标签:

【中文标题】以百万英镑显示 Y 轴值的最佳方式【英文标题】:Best way to show Y axis values in Millions of £ 【发布时间】: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.. 以获得简单的解决方案。

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

提前致谢。

【问题讨论】:

【参考方案1】:

.tickFormat('.0s') 添加到您的yAxis 定义中。

见:

Format Y axis values, original figures in millions, only want to show first three digits

D3: Formatting tick value. To show B (Billion) instead of G (Giga)

【讨论】:

以上是关于以百万英镑显示 Y 轴值的最佳方式的主要内容,如果未能解决你的问题,请参考以下文章

Excel:如何以百万或任何自定义类型显示值

带有所有x轴值的ggplot x轴标签

Excel怎么设置数据以百万单位显示

数以百万计的字符串格式,四舍五入的数以千计

ggplot2:显示 x 轴值的附加特定图例

当y轴值较小时,烛台不能很好地显示