【发布时间】:2017-10-23 21:01:41
【问题描述】:
我有一个数据集,其中包含类似这样的数据
var data =[10,30,20,50,80,60,120,40,20,90,30,10];
var labels = [moment("12:00:00", 'HH:mm:ss'),moment("12:00:01", 'HH:mm:ss'),moment("12:00:02", 'HH:mm:ss'),moment("12:00:03", 'HH:mm:ss')];
我像这样将数据输入chartJS
var ctx = document.getElementById("myChart").getContext('2d');
var myChart = new Chart(ctx, {
type: 'line',
data: {
labels: labels,
datasets: [{
label: 'Voltage Fluctuation',
data: [10,20,30,40,50],
borderWidth: 1
}]
},
options: {
scales: {
xAxes: [{
type: 'time',
time: {
unit: 'minute',
displayFormats: {
hour: 'HH:mm:ss'
}
}
}]
},
}
});
但是,我只获取前四个点的数据,即每个标签。
这是JSFiddle
我希望为所有标签分配数据,在这种情况下,每 (4/12) 秒有一个数据点,并相应地调整图表。
有没有什么可能的方法可以通过将标签转换为毫秒格式来实现,而无需对其进行硬编码?
【问题讨论】:
-
所以每个点都需要一个标签。你只得到四分,因为你只喂了四个标签。您必须根据需要重新计算值,以便点数等于标签数。
-
是的,我调整了时间长度以满足现在的数据大小。想知道是否存在替代方案。
标签: javascript chart.js momentjs data-visualization