我想在numberDisplay函数中添加一些文本,有点像这样。
dc.numberDisplay('#duration')
.group(all)
.valueAccessor(function (d) {
if (xxx) return d.duration + ' [months]';
else return d.duration + ' [years]';
});
这会打印
NaN
我的具体需求是我有一个多年的持续时间,但有时候 - 在一些交叉过滤之后 - 这个数字真的很低 - 例如 0.00002-这是不可理解的所以我想简化用户的东西,并在几个月或几天甚至几个小时内转换。
我的第一次尝试是将持续时间分成4个数字(年/月/天/小时),并有4个单独的html标签和4个numberDisplay。
但如果持续时间= 5小时,则不需要这样做,用户会看到0Y, 0M, 0D, 5H
,而5 hours
会更清晰。
我需要打印至少2个信息:最高的非零数字和单位,我无法管理。
另一个想法是:有没有办法在numberDisplay完成后触发辅助功能?
这样我就可以在numberDisplay中发送基本的d.duration。然后让另一个函数转换为较小的单位。
[编辑]
.html()
似乎是为此而构建的,但one/some/none
不符合我需要的差异0.0000002 / 0.0002 / 0.02