У меня есть данные, поступающие с сервера в следующем формате:
[
{
name: "series1"
series: [
{
date: "2016-01-31T00:00:00.000Z",
value: 49
},
{
date: "2016-02-28T00:00:00.000Z",
value: 49
},
{
date: "2016-03-30T00:00:00.000Z",
value: 44
},
{
date: "2016-04-31T00:00:00.000Z",
value: 57
}
]
}
{
name: "series2"
series: [
...
]
}
]
Каждая точка в вышеприведенной серии представляет ежемесячные данные
Вот мое объявление диаграммы:
this.ctx = this.myChartRef.nativeElement.getContext('2d');
let myChart = new Chart(this.ctx, {
type: 'line',
data: {
datasets: [{
label: this.data[0].name,
fill: false,
data: [
this.data[0].series.map((x) => {
return {
x: this.dateTickFormatting(x.date),
y: x.value
}
})
],
}, {
label: this.data[1].name,
fill: false,
data: [
this.data[1].series.map((x) => {
return {
x: this.dateTickFormatting(x.date),
y: x.value
}
})
],
}]
},
options: {
responsive: true,
title: {
display: true,
text: 'My Chart',
fontSize: 18
},
legend: {
display: true,
position: "top"
},
scales: {
xAxes: [{
type: 'time',
time: {
unit: 'month',
displayFormats: {
'month': 'MMM YYYY',
},
tooltipFormat: "MMM YYYY"
}
}],
}
}
});
function dateTickFormatting
возвращает строку, подобную этой:
return new Date(val).toLocaleString('en-us', { month: 'short', year: 'numeric' });
Когда я запускаю код над корзиной, не отображаются никакие значения, я вижу только пустой холст с горизонтальными линиями.
Есть идеи как это исправить?