I want to add to my chart setTimeout function to updated data. Have code listed below but console is saying Uncaught TypeError: Cannot read property 'data' of undefined" how to acces data array? and put my mew values? error is logging at the end of this code. in var ChartLine. Or maybe if you have any other idea how to update dynamically data please share your answer
var ctx = document.getElementById('chart').getContext("2d");
var myChart = new Chart(ctx, {
type: 'line',
data: {
labels: ["JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL"],
datasets: [{
label: "Data",
borderColor: gradientStroke,
pointBorderColor: gradientStroke,
pointBackgroundColor: gradientStroke,
pointHoverBackgroundColor: gradientStroke,
pointHoverBorderColor: gradientStroke,
pointBorderWidth: 5,
pointHoverRadius: 5,
pointHoverBorderWidth: 1,
pointRadius: 3,
fill: true,
backgroundColor: gradientFill,
borderWidth: 2,
data: [50, 80, 130, 65, 100, 66, 86],
}]
},
options: {
legend: {
position: "top"
},
scales: {
yAxes: [{
ticks: {
fontColor: "rgba(255,255,255,0.5)",
fontStyle: "bold",
beginAtZero: true,
maxTicksLimit: 5,
padding: 20
},
gridLines: {
drawTicks: false,
display: false
}
}],
xAxes: [{
gridLines: {
zeroLineColor: "rgba(255,255,255,0.5)"
},
ticks: {
padding: 20,
fontColor: "rgba(255,255,255,0.5)",
fontStyle: "bold"
}
}]
}
}
});
setTimeout(function addData(chart, label, data) {
chart.data.labels.push(label);
chart.data.datasets.forEach((dataset) => {
dataset.data.push([45, 45, 45, 15, 3]);
});
chart.update();
}, 2000);
thanks you for any help