Javascript 给定轴上的Google图表所有系列必须具有相同的数据类型

Javascript 给定轴上的Google图表所有系列必须具有相同的数据类型,javascript,json,ajax,charts,google-visualization,Javascript,Json,Ajax,Charts,Google Visualization,当我运行我的谷歌图表时,我对这个错误消息感到困惑。这是我生成图表的代码 function (resultVal) { var arrMain = new Array();//[]; for (var i = 0; i < resultVal.length; i++) { var arr = new Array(resultVal[i].ScaleMin, resultVal[i].CountryNo, resultVal[i].ScaleMax, resul

当我运行我的谷歌图表时,我对这个错误消息感到困惑。这是我生成图表的代码

function (resultVal) {
    var arrMain = new Array();//[];
    for (var i = 0; i < resultVal.length; i++) {
        var arr = new Array(resultVal[i].ScaleMin, resultVal[i].CountryNo, resultVal[i].ScaleMax, resultVal[i].Currency);
        arrMain.push(arr);
        }
        var data = new google.visualization.DataTable();
        data.addColumn({ type: 'number', id: 'ScaleMin', label: 'ScaleMin' });
        data.addColumn({ type: 'number', id: 'CountryNo', label: 'CountryNo' });
        data.addColumn({ type: 'number', id: 'ScaleMax', label: 'ScaleMax' });
        data.addColumn({ type: 'string', id: 'Currency', label: 'Currency' });
        data.addRows(arrMain);
        var options = {
        'title': 'Salad Entry',
        'width': 800,
        'height': 600
        };
        var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
        google.visualization.events.addListener(chart, 'ready', function () {
        chart_div.innerHTML = '<img src="' + chart.getImageURI() + '">';
        $.ajax({
        url: "SaladEntry/SaveToLocal",
        type: "POST",
        data: { 'jsonData': chart.getImageURI() },
        success: function (ret) {
        alert(ret);
        }
        });
        });
        chart.draw(data, options);
函数(resultVal){
var arrMain=new Array();/[];
对于(变量i=0;i
这是我在加载图表时收到的错误消息

function (resultVal) {
    var arrMain = new Array();//[];
    for (var i = 0; i < resultVal.length; i++) {
        var arr = new Array(resultVal[i].ScaleMin, resultVal[i].CountryNo, resultVal[i].ScaleMax, resultVal[i].Currency);
        arrMain.push(arr);
        }
        var data = new google.visualization.DataTable();
        data.addColumn({ type: 'number', id: 'ScaleMin', label: 'ScaleMin' });
        data.addColumn({ type: 'number', id: 'CountryNo', label: 'CountryNo' });
        data.addColumn({ type: 'number', id: 'ScaleMax', label: 'ScaleMax' });
        data.addColumn({ type: 'string', id: 'Currency', label: 'Currency' });
        data.addRows(arrMain);
        var options = {
        'title': 'Salad Entry',
        'width': 800,
        'height': 600
        };
        var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
        google.visualization.events.addListener(chart, 'ready', function () {
        chart_div.innerHTML = '<img src="' + chart.getImageURI() + '">';
        $.ajax({
        url: "SaladEntry/SaveToLocal",
        type: "POST",
        data: { 'jsonData': chart.getImageURI() },
        success: function (ret) {
        alert(ret);
        }
        });
        });
        chart.draw(data, options);

以及我设置为图表数据源的数组列表


只能在x轴或第一列上使用
'string'
数据类型

除非它被用作注释、工具提示或其他工具

以下列是导致问题的原因

data.addColumn({ type: 'string', id: 'Currency', label: 'Currency' });
如果要将货币添加为注释,则需要设置
角色
属性

data.addColumn({ type: 'string', id: 'Currency', role: 'annotation' });
这将导致货币列中的值显示在标签中,
作为注释,在序列列-->
'ScaleMax'的每个点上方

列角色仅适用于它们所跟随的系列列

每种图表类型都有一个特定的列表,其中列出了每列可能具有的类型

所有常用的图表都是一样的,如直线、面积、柱、条形图等

编辑

请参阅以下工作片段

google.charts.load('current'{
回调:函数(){
var data=new google.visualization.DataTable();
addColumn({type:'string',label:'x'});
addColumn({type:'number',label:'y'});
addColumn({type:'string',role:'style'});
addRow(['one',1',color:green']);
var chart=new google.visualization.BarChart(document.getElementById('chart_div'));
图表绘制(数据、{
图例:“无”
});
},
软件包:['corechart']
});