是否可以在ChartJS中设置日期与时间的折线图?

时间:2017-03-28 20:42:01

标签: javascript charts chart.js

我正在尝试使用以下代码绘制日期与时间的折线图:

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)

1 个答案:

答案 0 :(得分:0)

不幸的是,无法在x轴和y轴上使用时间刻度。根据{{​​3}} ...

  

时间刻度用于显示时间和日期。它只能放在X轴上。

如果你真的需要这样做(我很难想到这个用途),那么你可以尝试使用X轴的时间刻度和Y轴的类别刻度。

只需从数据集对象({x: new Date(), y: 'May 2017'})中的y值的日期数据生成字符串值。