【问题标题】:Highcharts error #15, graph is displayed correctlyHighcharts 错误 #15,图表显示正确
【发布时间】:2015-04-02 09:34:41
【问题描述】:

我创建了这个小提琴来显示问题: http://jsfiddle.net/q8p8945z/

我的图表按原样显示,但我仍然从 highcharts 获得error #15。 Highcharts 说这个错误:

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是一个时间戳,所以我认为自然应该按升序排序。

我该如何解决这个错误?

【问题讨论】:

  • 这不是 area-spline 期望的系列格式。每个series.data 应该是 Y 轴上的值列表,而不是列表列表。日期应该是 X 轴上的值,而不是 Y 轴上的列表列表中的值。所以在xAxis.categories,而不是series

标签: javascript jquery mysql sorting highcharts


【解决方案1】:

我认为问题在于 javascript 月份从零开始,而不是从一开始。试试这个:

post.push(Date.UTC(postDateTime[1],postDateTime[2]-1,
   postDateTime[3],postDateTime[4])); // add post on correct date/time spot

注意月份参数中的-1。

http://jsfiddle.net/6s4bhro1/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-22
    • 2017-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多