我已经阅读了一堆在chartjs中交换数据集的解决方案,但似乎没有一个适用于v4.4。目前我有一个图表,我想点击一个按钮并更改数据集。我能够看到在我的控制台中发生的变化,但我似乎无法弄清楚如何让图表更新。任何想法?我一直得到“.Udate不是一个函数”
HTML
<button onclick="myFunction()">Click Me</button>
<canvas id="myChart"></canvas>
字符串
- JS*
let currentSelection = DataArray;
const ctx = document.getElementById('myChart');
new Chart(ctx, {
type: 'line',
data: {
labels: NumberArr,
datasets: [{
label: 'My Chart',
data: currentSelection,
borderWidth: 1
}]
},
options: {
scales: {
y: {
beginAtZero: false
},
x: {
display: false
}
}
}
});
function myFunction() {
if (ctx.dataset[0] == DataArray) {
ctx.dataset[0] = NewDataArray
console.log(ctx.dataset, "Part 1");
} else {
ctx.dataset[0] = DataArray;
console.log(ctx.dataset, "Part 2");
}
ctx.update();
}
型
1条答案
按热度按时间9cbw7uwe1#
你在canvas上调用
update()
,但是这个update()
是chart的一个方法,而不是canvas本身。修改了js代码;
字符串
你可以看到,我创建了一个变量
myChart
。这使用了当你调用new Chart()
时创建的图表的示例。然后,这个myChart.data.datasets[0].data
用于访问数据集中的数据。最后,myChart.update()
(显然)用于更新图表。