我创建了这个小提琴来显示问题:http://jsfiddle.net/q8p8945z/
我的图表按原样显示,但我仍然从高图表中收到错误 #15。Highcharts对错误是这样说的:
高图表错误 #15
Highcharts期望对数据进行排序
当您尝试创建线系列或库存时,会发生这种情况 数据未按升序 X 顺序排序的图表。为 性能原因,Highcharts不对数据进行排序,而是 要求实施者对数据进行预排序。
我使用此查询从数据库中获取数据:
SELECT COUNT(`p`.`postId`) `posts`, DATE_FORMAT(FROM_UNIXTIME(`p`.`created`), '%Y-%m-%d %H:00') `dateTime` FROM `posts` `p` LEFT JOIN `hashtags` `h` ON `p`.`hashtagId` = `h`.`id` WHERE `h`.`accountId` = 1 AND `p`.`source` = :source GROUP BY `dateTime` ORDER BY `p`.`created` ASC
p
.created
是一个时间戳,所以我认为它自然应该按升序排序。
如何解决此错误?
我认为问题是javascript monthhs从零开始而不是1开始。试试这个:
post.push(Date.UTC(postDateTime[1],postDateTime[2]-1,
postDateTime[3],postDateTime[4])); // add post on correct date/time spot
请注意 month 参数中的 -1。
http://jsfiddle.net/6s4bhro1/