Нужно использовать один canvas для отрисовки трёх разных графиков, но не все одновременно, а при нажатии на кнопку. При нажатии кнопок график перерисовывается, но может отображается неправильно, в неправильном масштабе, или могут мерцать предыдущие отрисованные графики. Почему так происходит? Потому, что один контекст для всех? Но перед отрисовкой в updCharts я очищаю график. Как исправить?
<canvas id="chart"></canvas>
<button id="1"></button>1<button id="2">2</button><button id="3">3</button>
var chart = new Chart('chart', /*параметры*/);
var charts = {
0: chart.config,
1: chart.config,
2: chart.config
};
//при нажатии кнопки 1:
charts[0].data.datasets[0].label = $(table).find('th').eq(colNum).text();
charts[0].data.labels = labels;
charts[0].data.datasets[0].data = values;
charts[0].data.datasets[0].backgroundColor = '#fff';
updChart(0);
function updChart (i) {
chart.destroy();
chart.config= charts[i];
chart.update();
}