У меня возникают проблемы с данными типа: datetime в x-as. У меня есть диапазон дат с 01/07/2016 (dd/MM/yyyy) и 01/10/2016, но я не могу правильно отобразить график. Даты arent показаны правильно, и я получаю ошибку 15.HighCharts Line xas datetime
Я получаю данные (chartInfo.DataSetTime) в качестве словаря (строка, int). Строка содержит дату как 01/07/2016
Это то, что я получил:
var dataset = [];
$.each(chartInfo.DataSetTime, function (key, value) {
var datum = key.split('/');
var dateke = new Date(datum[2], datum[1] - 1, datum[0]);
dataset.push([Date.UTC(dateke.getFullYear(), dateke.getMonth() ,dateke.getDay()), value]);
});
for (var i in dataset) {
dataset[i].sort(function (a, b) {
if (a.x > b.x) {
return 1;
}
if (b.x > a.x) {
return -1;
}
return 0;
});
}
console.log(dataset);
$('#container').highcharts({
chart: {
zoomType: 'x',
defaultSeriesType: 'line',
renderTo: 'container'
},
title: {
text: chartInfo.TitleChart
},
subtitle: {
text: document.ontouchstart === undefined ?
'Klik en sleep in de grafiek om in te zoomen' : 'Swipe over de grafiek om in te zoomen'
},
xAxis: {
type: 'datetime',
dateTimeLabelFormats: { // don't display the dummy year
month: '%e. %b',
year: '%b'
},
},
yAxis: {
title: {
text: chartInfo.TitleYas
}
},
legend: {
enabled: false
},
plotOptions: {
area: {
fillColor: {
linearGradient: {
x1: 0,
y1: 0,
x2: 0,
y2: 1
},
stops: [
[0, Highcharts.getOptions().colors[0]],
[1, Highcharts.Color(Highcharts.getOptions().colors[0]).setOpacity(0).get('rgba')]
]
},
marker: {
radius: 2
},
lineWidth: 1,
states: {
hover: {
lineWidth: 1
}
},
threshold: null
}
},
series: [{
type: 'area',
name: 'USD to EUR',
data: dataset.sort(function (a, b) {
return a[0] - b[0];
})
}]
});
Любая помощь приветствуется
ли вы читать забавное руководство? http://www.highcharts.com/errors/15 –
yup, обновленный вопрос. Попробовали сделать вид, но все же неправильные даты показаны, и график выглядит смешно – Kaizer
Вам придется быть более конкретным, чем «выглядит смешно» :) – jlbriggs