【发布时间】:2016-11-16 13:36:26
【问题描述】:
我正在尝试创建一个折线图,它绘制了大约 200 个包含时间戳和值的点。我的理解是,我需要将标签和数据分成 2 个不同的数组,以便将它们与 Chart.js 2.0(最新版本)一起使用。
完整代码:
var chartData = [],
labelData = [],
chartData2 = [];
_.each(historyData, function (row) {
chartData.push({
x: moment.unix(row[0]/1000).format('MMM DD HH:mm'),
y: row[1]
});
labelData.push(moment.unix(row[0]/1000).format('MMM DD HH:mm'));
chartData2.push(row[1]);
});
console.log(chartData);
console.log(labelData);
console.log(chartData2);
new Chart(self.$splitChart, {
type: 'line',
data: {
labels: labelData,
datasets: [{
label: 'EPC',
data: chartData2,
lineTension: 0,
backgroundColor: 'rgba(55,166,119,.2)',
borderColor: 'rgb(55,166,119)',
pointRadius: 0,
pointHitRadius: 10
}]
},
options: {
legend: {
display: false
},
scales: {
xAxes: [{
type: 'linear',
position: 'bottom'
}]
}
}
});
标签数据示例:
["11 月 13 日 13:42", "11 月 13 日 14:02", "11 月 13 日 14:22", "11 月 13 日 14:42", "11 月 13 15:02”、“11 月 13 日 15:22”、“11 月 13 日 15:42”、“11 月 13 日 16:02”、“11 月 13 日 16:22”、“11 月 13 日 16:42”、“11 月 13 日 17:03”、“11 月 13 日 17:22”、“11 月 13 日 17:42”、“11 月 13 日 18:02”、“11 月 13 日 18:22”、“11 月 13 日 18:42”、“11 月 13 日 19:02”、“11 月 13 日 19:22”、“11 月 13 日 19:42”、“11 月 13 日 20:02”、“11 月 13 日 20:22”、“11 月 13 日 20:42”、“11 月 13 日 21:02”、“11 月 13 日 21:22”、“11 月 13 日 21:42”、“11 月 13 日 22:02”、“11 月 13 日 22:22”]
示例chartData2:
[“0.005236”,“0.005088”,“0.005067”,“0.005046”,“0.005189”, “0.005164”、“0.005134”、“0.005373”、“0.005331”、“0.005371”、 “0.005480”、“0.005420”、“0.005520”、“0.004876”、“0.004822”、 “0.004770”、“0.004397”、“0.004346”、“0.004295”、“0.004302”、 “0.004259”、“0.004217”、“0.003969”、“0.003935”、“0.003897”、 "0.004048", "0.004027"]
不幸的是,我没有得到一条线,x 轴只是数字(不是格式化的时间戳或与时间戳的任何关系)。我也尝试过确保数据也是浮点数(不是字符串)。还是什么都没有。
【问题讨论】:
标签: javascript momentjs chart.js