我在我的应用程序中使用了Angularjs-nvd3-directives图表。来自mongodb的数据格式如下:
["2012-11-02T20:01:00.000Z",11,"2012-11-02T20:01:00.000Z",12,"2012-11-03T20:02:00.000Z",13,"2012-11-01T20:03:00.000Z",11,"2012-11-02T20:04:00.000Z",12,"2012-11-03T20:05:00.000Z",13]
我看到的所有示例都使用Unix时间戳,例如:
[ 1025409600000,0,1028088000000,-6.3382185140371,1030766400000,-5.9507873460847]
使用Unix时间戳时,适用于X轴日期的函数为:
$scope.xAxisTickFormatFunction = function() {
return function(d) {
return d3.time.format('%x')(new Date(d));
};
};我应该写什么函数才能使用iso日期。我想在X轴上显示每分钟的值
发布于 2019-06-13 02:22:48
您应该向chart返回Date对象,而不是ISO Date(因为这是它所期望的)。在图表中输入数据之前,您应该对其进行处理
item.values.forEach(function (value) { //iterate over your values
//this will transform ISO in date
var b = value.date.split(/\D+/);
var theDate = new Date(Date.UTC(b[0], --b[1], b[2], b[3], b[4], b[5], b[6]));
responseObj.values.push({ //create a new array and push the new date
x: theDate,
y: parseInt(value.number)
})
});https://stackoverflow.com/questions/33771219
复制相似问题