Highcharts错误15

时间:2014-08-01 14:02:43

标签: javascript highcharts

我正在尝试使用highcharts表示这些数据:

[
  {
    "name": "c1",
    "data": [
      [
        -52587360000000,
        2
      ],
      [
        -52590038400000,
        1
      ],
      [
        -52611724800000,
        1
      ],
      [
        -52622611200000,
        1
      ],
      [
        -52655184000000,
        1
      ],
      [
        -52663392000000,
        2
      ],
      [
        -52855545600000,
        2
      ]
    ]
  },
  {
    "name": "c2",
    "data": [
      [
        -52587360000000,
        2
      ],
      [
        -52590038400000,
        1
      ],
      [
        -52611724800000,
        1
      ],
      [
        -52622611200000,
        1
      ],
      [
        -52655184000000,
        1
      ],
      [
        -52663392000000,
        2
      ],
      [
        -52855545600000,
        2
      ]
    ]
  },
  {
    "name": "c3",
    "data": [
      [
        -52587360000000,
        2
      ],
      [
        -52590038400000,
        1
      ],
      [
        -52611724800000,
        1
      ],
      [
        -52622611200000,
        1
      ],
      [
        -52655184000000,
        1
      ],
      [
        -52663392000000,
        2
      ],
      [
        -52855545600000,
        2
      ]
    ]
  }
]

这是我尝试的:

container.highcharts({
    title: {
        text:"Name"
    },
    xAxis: {
        type: 'datetime',
        dateTimeLabelFormats: {
            month: '%e. %b',
            year: '%b'
        }
    },
    yAxis: {
        title: {
            text: 'Occurrence'
        },
        plotLines: [{
            value: 0,
            width: 1,
            color: '#808080'
        }]
    },
    tooltip: {
        valueSuffix: 'Occurrence'
    },
    legend: {
        layout: 'vertical',
        align: 'right',
        verticalAlign: 'middle',
        borderWidth: 0
    },
    series: response // 
});

您可以看到图表未正确显示: enter image description here 并在控制台中我收到此错误:

"Highcharts error #15: www.highcharts.com/errors/15"

我的错误是什么?

3 个答案:

答案 0 :(得分:13)

正如link in the error message会告诉你的那样:

  

Highcharts希望对数据进行排序

     

当您尝试创建数据未按升序X顺序排序的折线图或股票图表时,会发生这种情况。出于性能原因,Highcharts不对数据进行排序,而是要求实施者预先对数据进行排序。

在您的情况下,第一个系列中的x值为:

-52587360000000
-52590038400000
-52611724800000
-52622611200000
-52655184000000
-52663392000000
-52855545600000

只看前两个,很明显-52587360000000是一个比-52590038400000更小(更负)的数字。看来你实际上已经对它们进行了反向排序。也就是说,最大的数字是第一个,然后它们变得越来越小(更负面)。

您必须更改系列中数据的顺序,以便最小的数字先行,然后值会增加。

答案 1 :(得分:2)

按desc

对日期顺序排序时会发生此问题

注意

  • 不按日期排序数据顺序desc
  • 而是按日期排序数据顺序Asc

您的问题将得到解决。快乐编码

答案 2 :(得分:0)

在我的例子中,“数据数组”的第一个元素是datetime-descend。 这对HiChart不正确。 e.g。

# this sort cause error 15 of highchart
[   5,        'content...' ],
[   4,        'content...' ],
[   3,        'content...' ]

解决方案:使用第一个元素的'asend order'重新排序数组,例如:

# this is working good
[   3,        'content...' ],
[   4,        'content...' ],
[   5,        'content...' ]