柱形图:给定轴上的所有系列必须具有相同的数据类型

Column Chart: All series on a given axis must be of the same data type

下面的代码我做错了什么导致报错All series on a given axis must be of the same data type

function drawVisualization(){
        var performanceJson = $.ajax({
            url : "{% url json_data %}",
            type:"GET",
            dataType: "json",
            cache: false,
            async: false}).responseJSON;

        var performanceData = new google.visualization.DataTable();
        performanceData.addColumn('string', 'Question');
        performanceData.addColumn('string', 'Headings');
        performanceData.addColumn('number', 'TotalScore');
        performanceData.addColumn('number', 'Score');
        performanceData.addRows(performanceJson);

        var performanceOptions = {
            title : 'Performance Report',
            subtitle: 'Based on a scale of 1 to 7',
            hAxis : {title:'Question', titleTextStyle:{color:'red'}},
            vAxis : {title:'Scores'},
        };
        var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
        chart.draw(performanceData, performanceOptions);
    }

performanceJson 变量的值为:

 [["No. of people", "Area", 6, 1], ["Scholars", "Standard", 12, 2], ["Co-ordination", "Standard", 18, 14]]

对于 ColumnChart,所有列(第一列除外)的类型必须为 number

第 2 列的类型为 string,第 3 列和第 4 列的类型为 number,因此错误消息应该很清楚。

我不确定第 2 列适合哪一列,但您不能将此列用作 data-列

您可以例如将此列用作 annotation:

google.load('visualization', '1', {packages: ['corechart', 'bar']});
google.setOnLoadCallback(drawVisualization);

function drawVisualization(){
        var performanceJson = [["No. of people", "Area", 6, 1], 
                               ["Scholars", "Standard", 12, 2], 
                               ["Co-ordination", "Standard", 18, 14]];

        var performanceData = new google.visualization.DataTable();
        performanceData.addColumn('string', 'Question');
        performanceData.addColumn({type:'string',role:'annotation'});
        performanceData.addColumn('number', 'TotalScore');
        performanceData.addColumn('number', 'Score');
        performanceData.addRows(performanceJson);

        var performanceOptions = {
            title : 'Performance Report',
            subtitle: 'Based on a scale of 1 to 7',
            hAxis : {title:'Question', titleTextStyle:{color:'red'}},
            vAxis : {title:'Scores'},
        };
        var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
        chart.draw(performanceData, performanceOptions);
    }
  <script type="text/javascript" src="https://www.google.com/jsapi"></script>
  <div id="chart_div"></div>