人力车javascript库:x轴的字符串

时间:2014-07-03 07:16:03

标签: javascript string rickshaw

我有一个数组如下:

var data = [ { x: "2013-10-22T22:56:25.534Z", y: 0 }, { x: "2013-10-22T22:56:25.524Z", y: 162 }, { x: "2013-10-22T22:56:25.514Z", y: 0 } ];

等等。总共50个对象,每个对象具有x和y值。此数组应该用于使用此人力车库绘制图表:http://code.shutterstock.com/rickshaw/

如上所示,x轴应该可视化字符串格式的时间戳。一切看起来都很好,但我收到一条错误消息:Uncaught x and y properties of points should be numbers instead of string and number

有谁知道,我如何调整人力车库以在图表的x轴上显示时间戳(字符串)?

更新A: 尝试解决人力车库中的问题 正如这里建议的那样(Rickshaw - js chart library: Need strings instead of numbers on axes),也可以添加一个涵盖字符串格式的函数。但我不知道如何完成这个格式化程序,它适用于我的项目。

1 个答案:

答案 0 :(得分:1)

我不是人力车javascript图书馆专家。从他们的例子和&你的错误日志,它看起来像 - 它期望X& Y INTEGER类型中的Y对象值,但此处为type for X is "String"

因此,不是以String格式传递时间,而是pass the UNIX Timestamp - 这是INT类型。


要在Javascript中将日期时间转换为Unix时间戳,请使用 Date.js 插件

Convert normal date to unix timestamp

简单地循环你的X坐标&将它们更改为Unix TimeStamp -

var changeDateTimeToTimestamp = function(data){
    for(var key in data){
        data[key].x = new Date(data[key].x).getTime() / 1000;
    }
    return data;
}

var data = [ { x: "2013-10-22T22:56:25.534Z", y: 0 }, { x: "2013-10-22T22:56:25.524Z", y: 162 }, { x: "2013-10-22T22:56:25.514Z", y: 0 } ];
var newData = changeDateTimeToTimestamp(data);
//console.log(newData);