使用highcharts处理unix时间戳

问题描述 投票:11回答:2

的jsfiddle:http://jsfiddle.net/RjPRd/

时间和标签显示不正确。

我认为Javascript Time的时间戳应该乘以1000,但最好的方法是什么?另外我认为设置仍然不正确,因为标签看起来与光标所在的位置相反。

javascript jquery highcharts
2个回答
44
投票

你是对的,Javascript中的时间戳是毫秒,所以你应该将所有内容乘以1000。

对于另一个问题,它来自您的数据向后排序的事实。显然,当系列没有正确订购时,HighCharts正在搞乱。

这是您的代码的更正:http://jsfiddle.net/cvedovini/RjPRd/2/


0
投票

在Highcharts中使用时间戳(毫秒)的简单方法是使用formatter。因此,首先将您的时间值作为unix timestamp接收,然后在图表中设置以下功能之一:

在xAxis标签中使用:

xAxis:[{
  labels:{
     formatter:function(){
         return Highcharts.dateFormat('%Y %M %d',this.value);
     }
  }
}]

在工具提示中使用:

tooltip: {
    readerFormat: {
        formatter: function(){
         return Highcharts.dateFormat('%Y %M %d',this.value);
     }
  },
    pointFormat: '{point.y} ms',
    shared: true
},

An exemple of code with tooltip

A reference about formatter

© www.soinside.com 2019 - 2024. All rights reserved.