我正在尝试使用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 //
});
您可以看到图表未正确显示: 并在控制台中我收到此错误:
"Highcharts error #15: www.highcharts.com/errors/15"
我的错误是什么?
答案 0 :(得分:13)
正如link in the error message会告诉你的那样:
Highcharts希望对数据进行排序
当您尝试创建数据未按升序X顺序排序的折线图或股票图表时,会发生这种情况。出于性能原因,Highcharts不对数据进行排序,而是要求实施者预先对数据进行排序。
在您的情况下,第一个系列中的x值为:
-52587360000000
-52590038400000
-52611724800000
-52622611200000
-52655184000000
-52663392000000
-52855545600000
只看前两个,很明显-52587360000000
是一个比-52590038400000
更小(更负)的数字。看来你实际上已经对它们进行了反向排序。也就是说,最大的数字是第一个,然后它们变得越来越小(更负面)。
您必须更改系列中数据的顺序,以便最小的数字先行,然后值会增加。
答案 1 :(得分:2)
按desc
对日期顺序排序时会发生此问题注意强>
您的问题将得到解决。快乐编码
答案 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...' ]