使用D3快速将数字表示为百分比

时间:2014-04-23 16:20:06

标签: javascript d3.js

我似乎面临着很多D3的任务,我需要从数组中以百分比的形式表示一些值,并且有一些很好的D3方法可以快速轻松地完成它。 例如,我有一个像[10, 20, 49, 75, 23, 102]这样的数组,我想在条形图上添加标签,将这些数字显示为数组中所有数字之和的百分比。

您如何推荐处理这些案件?一种方法是在创建图表之前运行此数据集并向对象添加字段,例如{value:10, asPercents:3}然后将其放入相应的操作中,但我认为它不仅经常被我使用,所以必须有一个更好的内置助手。

1 个答案:

答案 0 :(得分:1)

D3布局中的一些做了类似的事情(例如饼图和堆栈),但没有明确的帮助。编写一个函数来自己做这件事是相当容易的:

function percentize(data) {
  var sum = d3.sum(data);
  return data.map(function(d) {
    return { value: d, percent: d*100/sum };
  });
}