chartjs x轴类别标签(包含来自tabletop.js的数据)

时间:2018-01-19 06:30:39

标签: javascript google-sheets chart.js google-sheets-query tabletop.js

我的下面的代码通过tabletop.js从google-sheets中提取数据作为chart.js的输入。问题是我无法使x轴显示。图表只是将y值本身显示为x-label。有什么帮助吗?

var publicSpreadsheetUrl = 'https://docs.google.com/spreadsheets/d/1BFPjROVypCGNeLxhk5_PW6PoOb4FDzJsL3DEOEdW_Rc/edit?usp=sharing';

function init() {
    Tabletop.init({
        key : publicSpreadsheetUrl,
        callback : showPlot,
        simpleSheet : true
    });
}

function showPlot(data, tabletop) {
    var xValues = [];
    var yValues = [];

    for (var i = 0; i < data.length; i++) {
        if (xValues.indexOf(data[i].x) === -1) {
            xValues.push(data[i].y);
        }
        if (yValues.indexOf(data[i].x) === -1) {
            yValues.push(data[i].y);
        }
    }

    var x = 0;
    var y = 0;
    for (i = 0; i < data.length; i++) {
        x = xValues.indexOf(data[i].x);
        y = yValues.indexOf(data[i].y);
    }

    var ctx = document.getElementById('chart').getContext('2d');
    var chart = new Chart(ctx, {
        type : 'line',
        data : {
            labels : xValues,
            datasets : [{
                    label : "Revenues",
                    fill : false,
                    backgroundColor : '#3498DB',
                    borderColor : '#3498DB',
                    data : yValues,
                }
            ],
        }
    });
}

init();

1 个答案:

答案 0 :(得分:-1)

我很抱歉造成的任何麻烦, 这是一个错误导致错误....管理发现它。

for (var i = 0; i < data.length; i++) {
        if (xValues.indexOf(data[i].x) === -1) {
            xValues.push(data[i].y); // this should be x and not y.!

感谢那些回复的人......!