highstock是一个非常不错的图表显示插件,可以与php非常方便的结合,并使用json进行ajax数据传输。
但是我在使用中发现x轴的数据总是显示不正确:开始坐标永远是1970年一月一日,跟我实际数据的起始日期不一致。
一般来说highstock接受的json数据,每一个数据项包括两个内容:【时间戳,值】。
这个时间戳在highstock里是13位的,精确到毫秒。而使用php的strtotime函数把某个日期(例如‘2013-2-12’)转换成时间戳的
时候确是10位的。所以一定要注意在php的时间戳后面连接上三个“0”。
另外一个问题是数据类型问题。
由于php里面int类型最大长度为10位,所以当把一个13位的时间戳字符串转换为数字类型进行json传输时,会出现错误,无法得到正确的x轴时间。
因此在编码json之前,一定要把时间戳字符串转换为float格式。
注意以上两个问题后,highstock的x轴就可以得到正确的显示了。