我在chart.js中有一个问题 我有一个折线图,y 轴是整数类型,x 轴是时间类型(以小时为单位)。 我有一个包含 10 个数据点的数据集。
现在我只想要过去 3 小时的总和。 我知道如何总结所有这些,但不选择特定的,而不需要编写一些大代码。
那么,chart.js 或 moment.js 中是否内置了任何简单的解决方案?
谢谢。
最佳答案
我不知道我是否完全理解你的问题。但是,如果您有一个数组(数据点)并且需要获取一定数量的最后一个元素,则可以使用 arr.slice(-3)。
使用 Chart.js 检查此示例:
let ctx = document.getElementById("myChart").getContext('2d');
let myChart = new Chart(ctx, {
type: 'line',
data: {
labels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
datasets: [{
label: 'datapoints',
backgroundColor: 'rgba(0, 0, 0, 0)',
borderColor: 'rgba(255, 99, 132, 1)',
data: [12, 19, 3, 15, 2, 3, 7, 10, 5, 8],
borderWidth: 2
}]
},
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero:true
}
}]
}
}
});
let nLastElements = 3;
let sum = myChart.data.datasets[0]
.data
.slice(-nLastElements)
.reduce((a, b) => a + b, 0);
console.log("Sum of last " + nLastElements + " elements: " + sum);
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.1/Chart.bundle.min.js"></script>
<canvas id="myChart" width="400" height="200"></canvas>
关于javascript - Chart.js 折线图中最后 3 小时数据值的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48672326/