我的数据格式为秒。我想将秒数据转换为小时和分钟,并沿轴显示此数据。例如,我一直试图这样做:
var xAxis = d3.svg.axis()
.scale(x)
.orient("bottom")
.tickFormat(function(d) {return d/60});
我看到D3有一个时间格式化程序,但我似乎无法显示正确的格式。我正在寻找的是D3中的一种方式,可以在几秒钟内将数据转换为小时和分钟。我怎么能这样做?
答案 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);
});
这会将毫秒转换为分钟和秒。