【问题标题】:rendering Highcharts datatimes on the x axis at regular intervals定期在 x 轴上渲染 Highcharts 数据时间
【发布时间】:2013-05-30 17:13:46
【问题描述】:

我有两个充满数据的数组。一个数组只是随机整数(例如 1.7、2.8、3.4 等),另一个数组是该数据的相应 unix 时间戳列表(例如 1366585199)。

目前我的 Highcharts 代码看起来有点像这样:

dataArray = ("2.4","5.6","3.1", ...);
timeArray = ("1366585199","1366585233","1366585355", ...)

       function foo(dataArray, timeArray) {
            $('#viz_1').highcharts({
                chart: {
                    type: 'line'
                },
                title: {
                    text: 'Data Index'
                },
                xAxis: {
                    type: 'datetime', // this isn't doing anything??
                    categories: timeArray
                },
                yAxis: {
                    title: {
                    text: 'Data Value'
                    },
                },
                series: [{
                    name: topicID,
                    data: JSON.parse("[" + dataArray + "]")
                }]
            })
        }; 

这可以工作并将折线图呈现到页面,但 X 轴显然充满了大约 50 个 Unix 时间戳!

我似乎无法弄清楚如何让 Highcharts API 获取 Unix 时间戳数组,使用它来排列数据点,但只在 X 轴上定期显示人类可读的日期?

【问题讨论】:

    标签: javascript jquery highcharts unix-timestamp


    【解决方案1】:

    您不能混合使用 'datetime'categories。 我更喜欢将 x/y 值成对发送到 HighCharts。喜欢:

    data: [
                [Date.parse('01/01/2000 00:00:00'), 55205],
                [Date.parse('01/01/2003 00:00:00'), 59091],
                [Date.parse('01/01/2004 00:00:00'), 64347],
                [Date.parse('01/01/2005 00:00:00'), 71067],
                [Date.parse('01/01/2006 00:00:00'), 77770],
                [Date.parse('01/01/2011 00:00:00'), 81166]
            ]
    

    如果你有 javascript 时间戳,你也可以像这样发送它们:

    [31536000000, 456]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多