如何更新 CharJS 折线图中 2 条线的 2 个数据集?
How to Update 2 dataset for 2 lines in a CharJS line graph?
var ctx = document.getElementById("canvas");
var Param1Data = {
label: "Param1",
yAxisID: 'A',
data: chartParam1Value,
lineTension: 0.5,
fill: false,
borderColor: 'red'
};
var Param2Data = {
label: "Param2",
yAxisID: 'B',
data: chartParam2Value,
lineTension: 0.5,
fill: false,
borderColor: 'blue'
};
var MainDataSet = {
labels: chartDataValue,
datasets: [Param1Data, Param2Data]
};
var chartOptions = {
legend: {
display: true,
position: 'top',
labels: {
boxWidth: 80,
fontColor: 'black'
}
},
scales: {
yAxes: [{
id: 'A',
type: 'linear',
position: 'left',
ticks: {
max: 10000,
min: 0
}
}, {
id: 'B',
type: 'linear',
position: 'right',
ticks: {
max: 10000,
min: 0
}
}]
}
};
chart = new Chart(ctx, { type: 'line', data: MainDataSet,options: chartOptions});
// chart = new Chart(ctx, config); // call for canvas
}
当我尝试使用此函数更新那 2 条数据线时,它不更新线。
addData()
{
chart.data.labels.push(chartDataValue);
chart.data.datasets.forEach((dataset) => {
dataset.data.push(chartParam1Value);
});
chart.data.datasets.forEach((dataset) => {
dataset.data.push(chartParam2Value);
});
chart.update(); //Updating the chart
}
setInterval(addData, 3000); // calling update method for new datapoint
我在 CharJS 图表中有 2 条线的 2 个数据集,第一个数据插入绘制在图表中是完美的但是当我尝试更新数据集时,它不是通过 addData() 函数更新数据。有人可以展示如何通过 CharJS 图中的更新功能更新 2 行吗?
根据文档 (https://www.chartjs.org/docs/latest/developers/updates.html#adding-or-removing-data),将数据添加到数组后,您必须调用图表上的更新方法来更新它,如下所示:
updateChart = (dataset) =>{
chart.data.datasets.forEach((dataset) => {
dataset.data.push(chartParam1Value);
});
chart.data.datasets.forEach((dataset) => {
dataset.data.push(chartParam2Value);
});
chart.update()
}
var ctx = document.getElementById("canvas");
var Param1Data = {
label: "Param1",
yAxisID: 'A',
data: chartParam1Value,
lineTension: 0.5,
fill: false,
borderColor: 'red'
};
var Param2Data = {
label: "Param2",
yAxisID: 'B',
data: chartParam2Value,
lineTension: 0.5,
fill: false,
borderColor: 'blue'
};
var MainDataSet = {
labels: chartDataValue,
datasets: [Param1Data, Param2Data]
};
var chartOptions = {
legend: {
display: true,
position: 'top',
labels: {
boxWidth: 80,
fontColor: 'black'
}
},
scales: {
yAxes: [{
id: 'A',
type: 'linear',
position: 'left',
ticks: {
max: 10000,
min: 0
}
}, {
id: 'B',
type: 'linear',
position: 'right',
ticks: {
max: 10000,
min: 0
}
}]
}
};
chart = new Chart(ctx, { type: 'line', data: MainDataSet,options: chartOptions});
// chart = new Chart(ctx, config); // call for canvas
}
当我尝试使用此函数更新那 2 条数据线时,它不更新线。
addData()
{
chart.data.labels.push(chartDataValue);
chart.data.datasets.forEach((dataset) => {
dataset.data.push(chartParam1Value);
});
chart.data.datasets.forEach((dataset) => {
dataset.data.push(chartParam2Value);
});
chart.update(); //Updating the chart
}
setInterval(addData, 3000); // calling update method for new datapoint
我在 CharJS 图表中有 2 条线的 2 个数据集,第一个数据插入绘制在图表中是完美的但是当我尝试更新数据集时,它不是通过 addData() 函数更新数据。有人可以展示如何通过 CharJS 图中的更新功能更新 2 行吗?
根据文档 (https://www.chartjs.org/docs/latest/developers/updates.html#adding-or-removing-data),将数据添加到数组后,您必须调用图表上的更新方法来更新它,如下所示:
updateChart = (dataset) =>{
chart.data.datasets.forEach((dataset) => {
dataset.data.push(chartParam1Value);
});
chart.data.datasets.forEach((dataset) => {
dataset.data.push(chartParam2Value);
});
chart.update()
}