Я пытаюсь создать простую программу, которая рисует линейный график, используя Chart.js(ver2.7) и ajax.
Эта программа состоит в том, что когда пользователь нажимает кнопку, он может получить новые данные из сохраненных в базе данных, а затем продвигать метки и данные на графике одну за другой в режиме реального времени.
Я понимаю, что пишу следующим образом, но я много раз пробовал, что написать внутри функции, но реализовать не смог.
$("#id").click(function() {
});
В настоящее время я могу правильно отобразить диаграмму, прежде чем реализовать описанную выше функцию.
$( document ).ready(function() {
var endpoint ='/api/chart/data';
var defaultData = [];
var labels = [];
$.ajax({
method: "GET",
url: endpoint,
success: function (data) {
labels = data.labels;
defaultData = data.defaults;
setChart();
},
error: function (error_data) {
console.log("error");
console.log(error_data)
}
});
function setChart() {
var ctx = document.getElementById("myChart");
var myChart = new Chart(ctx, {
type: 'line',
data: {
labels: labels,
datasets: [{
label: '# of medals',
data: defaultData,
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
...etc
],
borderColor: [
'rgba(255,99,132,1)',
...etc
],
borderWidth: 1
}]
},
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
}
}
});
}
graph.html
<div class="col-sm-6">
<canvas id="myChart" width="400" height="400"></canvas>
</div>
Как это должно быть реализовано?