Highcharts正确使用datetime?

时间:2014-12-16 06:57:30

标签: javascript highcharts

我当前的设置在某种程度上是静态的xaxis类别和tickinterval(甚至看不到没有tickinterval的图形)。

如果您更改屏幕分辨率,它看起来有点糟糕,我希望x轴是动态的。

我收集到的内容应该使用像http://www.highcharts.com/samples/data/usdeur.js和xAx这样的数据,如下所示?

xAxis: { type: 'datetime' }

但该示例仅使用YYMMDD,我也使用hh:mm:ss。

目前看起来像这样:i.imgur.com/v649otj.png

xAxis: {
        categories: getjson('Date'),
        tickInterval: 20
},
series: [
      {name:'Cars',       data: getjson('Values')},
]

数据:

getjson('Date') equals:
Array [ "2014-11-09 02:36:00", "2014-11-07 07:35:00", "2014-11-08 20:29:00", "2014-11-08 20:30:00", "2014-11-10 11:06:00", "2014-11-08 08:12:00", "2014-11-08 20:31:00", "2014-11-08 20:23:00", "2014-11-08 20:24:00", "2014-11-08 20:25:00", 190 till… ]


getjson('Values') equals:
Array [ 13, 209, 209, 19, 0, 209, 15, 13, 13, 19, 190 till… ]

那么我该如何利用这些数据和日期时间配置。 以某种方式将'Date'数据推送到与'values'相同的数组并将其转换为正确的日期格式?

修改:当前工作:http://jsfiddle.net/tws8x0pd/4/

2 个答案:

答案 0 :(得分:1)

Datetime配置使用的UTC数字不是YYMMDD!您应该使用格式为

的系列Date.UTC(year,month,day,hour,minute,second)中的data传递日期时间数据
series: [
  {name:'...', data: [ [ Date.UTC(year,month,day,hour,minute,second), value ],
                       [ Date.UTC(year,month,day,hour,minute,second), value ],
                       ...
                     ]
  }
]

因此,您应该在json日期之前获取年,月,...并将其与json值中的相应值相对应。每个在一个数组中,而不是分开的数组。

答案 1 :(得分:1)

时间要求与时间戳(以毫秒为单位的时间)不一样。因此,您需要通过Date.parse()/ Date.UTC()

准备正确的数据