【问题标题】:Chart.js line graph not displaying when using formatted timestamp labels使用格式化的时间戳标签时,Chart.js 折线图不显示
【发布时间】: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


    【解决方案1】:

    发现问题是由 xAxes 选项中定义的 type: 'linear' 引起的。删除此问题解决了问题,我的数据显示正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-08
      相关资源
      最近更新 更多