将秒转换为分钟并格式化轴

时间:2013-05-14 16:56:12

标签: d3.js

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

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

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

2 个答案:

答案 0 :(得分:1)

Here's the answer for posterity (when you set the date, it should be relative to when you're initializing your other Date objects, if necessary):

var xAxis = d3.svg.axis()
        .scale(x)
        .orient("bottom")
        .tickFormat(function(d) {
            return d3.timeFormat('%-M')( new Date(0).setSeconds(d) ) # formats minutes
        });

答案 1 :(得分: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);

});

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