我正在尝试使用以下代码绘制日期与时间的折线图:
var canvas = document.getElementById("lineChart");
data = JSON.parse('JSON string');
var myLineChart = new Chart(canvas, {
type: 'line',
data: data,
options: {
scales: {
yAxes: [{
type: 'time',
time: {parser: 'HH:mm'}
}],
xAxes: [{
type: 'time',
time: {parser: 'YYYY-MM-DD'}
}],
},
}
});
这可能吗?我应该将HH:mm
转换为毫秒吗?
更新
Chrome控制台错误:
Uncaught TypeError: Cannot read property 'undefined' of undefined
at i.getLabelMoment (Chart.min.js:14)
at i.getPixelForValue (Chart.min.js:14)
at i.update (Chart.min.js:11)
at i.reset (Chart.min.js:12)
at Chart.min.js:12
at Object.s.each (Chart.min.js:12)
at t.Controller.resetElements (Chart.min.js:12)
at t.Controller.initialize (Chart.min.js:12)
at new t.Controller (Chart.min.js:12)
at new t (Chart.min.js:12)
答案 0 :(得分:0)
不幸的是,无法在x轴和y轴上使用时间刻度。根据{{3}} ...
时间刻度用于显示时间和日期。它只能放在X轴上。
如果你真的需要这样做(我很难想到这个用途),那么你可以尝试使用X轴的时间刻度和Y轴的类别刻度。
只需从数据集对象({x: new Date(), y: 'May 2017'}
)中的y值的日期数据生成字符串值。