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

D3.js 将秒转换为分钟并格式化轴,d3.js,D3.js,我有秒格式的数据。我想将秒数据转换为小时和分钟,并沿轴显示这些数据。例如,我一直在尝试这样做: var xAxis = d3.svg.axis() .scale(x) .orient("bottom") .tickFormat(function(d) {return d/60}); 我看到D3有一个时间格式化程序,但我似乎无法让它显示正确的格式。我要寻找的是D3中的一种方法,它可以将数据在几秒钟内转换为几小时和几分钟。我如何才能做到这一点?var

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

var xAxis = d3.svg.axis()
        .scale(x)
        .orient("bottom")
        .tickFormat(function(d) {return d/60});
我看到D3有一个时间格式化程序,但我似乎无法让它显示正确的格式。我要寻找的是D3中的一种方法,它可以将数据在几秒钟内转换为几小时和几分钟。我如何才能做到这一点?

var xAxis=d3.svg.axis()
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);

});
.比例(x) .orient(“底部”) .d格式(函数(d){ var分钟=数学地板(d/60000); 变量秒=+((d%60000)/1000).toFixed(0); 返回(秒==60?(分钟+1)+“:00”:分钟+”:“+(秒<10?:”)+秒); });

这将把毫秒转换成分和秒

以下是子孙后代的答案(在设置日期时,如果需要,它应该与初始化其他日期对象的时间相关):


时间函数是一种方法。你试过什么,什么不起作用?谢谢你的帮助。我尝试过使用这样的时间函数:
format=d3.time.format(“%M”)调用
format(200)
无法正确设置时间格式。啊,我想我误解了你的意图。您的时间是相对于开始的,而不是绝对的(即Unix时间戳)?那么你所做的就是最好的处理方法——时间函数是用来处理绝对时间的。是的,我的时间是相对的。我希望D3有一个内置的方法来处理这个问题。除非你把它们转换成绝对时间。
var xAxis = d3.svg.axis()
        .scale(x)
        .orient("bottom")
        .tickFormat(function(d) {
            return d3.timeFormat('%-M')( new Date(0).setSeconds(d) ) # formats minutes
        });