以固定间隔在x轴上渲染Highcharts数据时间

Azz*_*ude 3 javascript jquery unix-timestamp highcharts

我有两个数组充满数据.一个数组只是随机整数(例如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 + "]")
                }]
            })
        }; 
Run Code Online (Sandbox Code Playgroud)

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

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

wer*_*eld 8

你不能混用'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]
        ]
Run Code Online (Sandbox Code Playgroud)

如果您有javascript时间戳,您可以发送以下内容:

[31536000000, 456]
Run Code Online (Sandbox Code Playgroud)