我有秒格式的数据。我想将秒数据转换为小时和分钟,并沿轴显示此数据。例如,我一直在尝试这样做:
var xAxis = d3.svg.axis()
.scale(x)
.orient("bottom")
.tickFormat(function(d) {return d/60});
我看到 D3 有一个时间格式化程序,但我似乎无法让它显示正确的格式。我正在寻找的是一种在 D3 中以秒为单位将数据转换为小时和分钟的方法。我怎样才能做到这一点?
我有秒格式的数据。我想将秒数据转换为小时和分钟,并沿轴显示此数据。例如,我一直在尝试这样做:
var xAxis = d3.svg.axis()
.scale(x)
.orient("bottom")
.tickFormat(function(d) {return d/60});
我看到 D3 有一个时间格式化程序,但我似乎无法让它显示正确的格式。我正在寻找的是一种在 D3 中以秒为单位将数据转换为小时和分钟的方法。我怎样才能做到这一点?
这是后代的答案(当您设置日期时,它应该与您初始化其他 Date 对象的时间相关,如有必要):
var xAxis = d3.svg.axis()
.scale(x)
.orient("bottom")
.tickFormat(function(d) {
return d3.timeFormat('%-M')( new Date(0).setSeconds(d) ) # formats minutes
});
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);
});
这会将毫秒转换为分钟和秒。