4

我有秒格式的数据。我想将秒数据转换为小时和分钟,并沿轴显示此数据。例如,我一直在尝试这样做:

var xAxis = d3.svg.axis()
        .scale(x)
        .orient("bottom")
        .tickFormat(function(d) {return d/60});

我看到 D3 有一个时间格式化程序,但我似乎无法让它显示正确的格式。我正在寻找的是一种在 D3 中以秒为单位将数据转换为小时和分钟的方法。我怎样才能做到这一点?

4

2 回答 2

3

这是后代的答案(当您设置日期时,它应该与您初始化其他 Date 对象的时间相关,如有必要):

var xAxis = d3.svg.axis()
        .scale(x)
        .orient("bottom")
        .tickFormat(function(d) {
            return d3.timeFormat('%-M')( new Date(0).setSeconds(d) ) # formats minutes
        });
于 2018-08-22T22:13:11.380 回答
0
var xAxis = d3.svg.axis()
        .scale(x)
        .orient("bottom")
        .tickFormat(function(d) {
        var minutes = Math.floor(d / 60000);
        var seconds = +((d % 60000) / 1000).toFixed(0);
        return (seconds == 60 ? (minutes+1) + ":00" : minutes + ":" + (seconds < 10 ? "0" : "") + seconds);

});

这会将毫秒转换为分钟和秒。

于 2017-02-28T23:09:09.250 回答