Highcharts error 15

2019-01-26 19:08发布

问题:

i'm trying to represent these data using 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
      ]
    ]
  }
]

This is what i try:

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 // 
});

The chart isn't shown correctly as you can see: and in console i get this error:

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

what is my error?

回答1:

As the link in the error message will tell you:

Highcharts expects data to be sorted

This happens when you are trying to create a line series or a stock chart where the data is not sorted in ascending X order. For performance reasons, Highcharts does not sort the data, instead it is required that the implementer pre-sorts the data.

In your case the x-values in your first series are:

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

Just looking at the first two it is clear that -52587360000000 is a smaller (more negative) number than -52590038400000. It appears that you have in fact reverse-sorted them. That is, the largest number is first, then they get increasingly smaller (more negative).

You will have to change the order of the data in the series so that the smallest number is first and then the values increase.



回答2:

This issue occurs when you sort the date order by desc

Note

  • Do not sort the data order by date desc
  • Instead sort the data order by date Asc

Your issue will be resolved. Happy Coding



回答3:

in my case, the first element of the "data array" , is datetime-descend. this is incorrect for HiChart. e.g.

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

solution: re-order the array with the 'asend order' for the first element, e.g.

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