谷歌饼图类型不匹配

时间:2016-01-15 11:18:25

标签: javascript charts google-visualization pie-chart

我正在使用Google Charts创建一个饼图,我收到此错误:

  

未捕获错误:类型不匹配。值720与列索引1中的类型日期不匹配

我的代码如下:

var graphData = [
    [
       'Occupation',
       {type: 'number'},
       {type: 'string', role: 'tooltip', 'p': {'html': true}}
    ],
    ['Training', 720, '<div class="pie-tooltip">Training<br/><strong>12 hours </strong></div>']
];

var data = google.visualization.arrayToDataTable(graphData);

var options = {
    is3D: true,
};

var chart = new google.visualization.PieChart(document.getElementById('field-occupation-graph'));
chart.draw(data, options);

{type: string}之后的Occupation是我改变以避免同样错误的内容。我在那里有值'Time'和错误,而不是说720Time。基本上相同的错误,但与图表的标题。

我不知道date类型的错误来自何处,此图表根本没有使用日期。

我在这里一无所知,所以任何帮助都会非常感激。谢谢!

1 个答案:

答案 0 :(得分:1)

你很亲密,有很多方法可以建立DataTable

如果需要指定列类型,可以使用对象作为列属性 否则,您可以使用字符串作为列标签。你也可以混合风格......

关键是要为每个人提供有效的东西。

&#13;
&#13;
google.load('visualization', '1', {packages: ['corechart']});
google.setOnLoadCallback(drawChart);

function drawChart() {
    var graphData = [
        [
          {
            id: 'Column1',
            label: 'Occupation',
            type: 'string'
          },
          {
            id: 'Column2',
            label: 'Hours',
            type: 'number'
          },
          {
            id: 'Column3',
            type: 'string',
            role: 'tooltip',
            p: {'html': true}
          }
        ],
        ['Training', 720, '<div class="pie-tooltip">Training<br/><strong>12 hours </strong></div>']
    ];

    var graphData2 = [
        [
          'Occupation',
          'Hours',
          {
            type: 'string',
            role: 'tooltip',
            p: {'html': true}
          }
        ],
        ['Training', 720, '<div class="pie-tooltip">Training<br/><strong>12 hours </strong></div>']
    ];

    var data = google.visualization.arrayToDataTable(graphData);
    var data2 = google.visualization.arrayToDataTable(graphData2);

    var options = {
        is3D: true,
    };
    var options2 = {
        colors: ['red'],
        is3D: true,
    };

    var chart = new google.visualization.PieChart(document.getElementById('field-occupation-graph'));
    chart.draw(data, options);

    var chart2 = new google.visualization.PieChart(document.getElementById('field-occupation-graph2'));
    chart2.draw(data2, options2);
}
&#13;
<script src="https://www.google.com/jsapi"></script>
<div id="field-occupation-graph"></div>
<div id="field-occupation-graph2"></div>
&#13;
&#13;
&#13;