nvd3 - 格式毫秒到h:m:s在图表中(时间段,不是日期)

时间:2016-04-21 20:56:47

标签: d3.js nvd3.js

我设法在d3 / nvd3图表中显示日期,我这样做会传递一个毫秒的值:

chart.xAxis
     .tickFormat(function(d) {
        return d3.time.format('%e, %H:%M')(new Date(d))
});

我希望在y轴上显示毫秒作为时间段,例如" 6小时:23分钟:5秒"。

这可能吗?

提前致谢!

莫夫

1 个答案:

答案 0 :(得分:2)

试试这个

d3.time.format('%H h : %M min : %S sec')(new Date())

它会像这样格式化日期

05小时:34分钟:26秒

或者,如果你不喜欢0小时的填充

d3.time.format('%-H h : %M min : %S sec')(new Date())

它会像这样格式化日期

5小时:37分钟:54秒

修改

在这种情况下,您需要放置一个if块来进行检查并返回所需的格式:

.tickFormat(function(d) {
       var date = new Date(d);
       if (date.getHours() == 0){ 
         return d3.time.format('%M min : %S sec')(d)
       } else {
         return d3.time.format('%-H h : %M min : %S sec')(d)
       }

}