【问题标题】:Rickshaw javascript library: strings for x-axisRickshaw javascript 库:x 轴的字符串
【发布时间】:2023-04-04 10:10:02
【问题描述】:

我有一个数组如下:

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) 所建议的,也可以添加一个涵盖字符串格式的函数。但我不知道如何完成这个适用于我的项目的格式化程序。

【问题讨论】:

    标签: javascript string rickshaw


    【解决方案1】:

    我不是 Rickshaw javascript 库专家。从他们的示例和您的错误日志中,它看起来像 - 它需要 INTEGER 类型的 X 和 Y 对象值,但这里是 type for X is "String"

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


    要将您的日期时间转换为 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);
    

    【讨论】:

    • 感谢您的回答。我要使用的时间戳来自 json 中的 API。我必须给我们它。我试图将字符串转换为整数,但没有成功。我还发现了这个:[链接]stackoverflow.com/questions/13061214/…。但我不明白这个概念......
    • 我实施了您的更新。但是在执行函数之后,结果是“2013-10-22T22:56:25.534Z”只是 2013 (int)。其他字符串也一样 :-( 对于“1287788185”,它可以工作。但我有这种令人不快的格式,字符串中有破折号“-”和冒号“:”。
    • 是的。应该是这样的。如果您想到 GRAPH-PAPER,它只需要 NUMBER 中的 X、Y 坐标值,例如(3,5); (10, 20) 等。如何绘制坐标中具有字符串的点。
    • javascript parseInt() 函数使 Ineger 由 String 生成。因此,传递一个像“2013-10-...”这样的字符串,它只会将初始数字部分(2013)保留为整数。
    • 关于整数与字符串的方法,您绝对是正确的。在人力车的例子中,我发现了这个:github.com/shutterstock/rickshaw/blob/master/examples/… 这可能是解决方案,但我需要知道如何用我的字符串自动填充“地图”......有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 2014-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-16
    • 1970-01-01
    • 1970-01-01
    • 2019-03-01
    相关资源
    最近更新 更多