1

我的数据集 1 是这样的-

var data1 = new google.visualization.DataTable();
            data1.addColumn('string','Country');
            data1.addColumn('string','Data1');
            for(var j=0;j<enterpriseArray.length;j++){
                data1.addRows([[enterpriseArray[j], suspiciousCountArray[j]]]);
            }

数据集 2 非常相似——

var data2 = new google.visualization.DataTable();
            data2.addColumn('string','Country');
            data2.addColumn('string','Data2');
            for(var k=0;k<enterpriseArray.length;k++){
                data2.addRows([[enterpriseArray[k], malicousCountArray[k]]]);
            }

最后这个——

var jointData = google.visualization.data.join(data1, data2, 'full', [[0, 0]], [1], [1]);
var chart = new google.visualization.GeoChart(document.getElementById('some-div'));
chart.draw(jointData, options);

我收到此错误,不是在控制台上,而是在我的图表应该显示的确切位置。

Error- Incompatible data table: Error: Table contains more columns than expected (Expecting 2 columns)

PS-如果我使用这样的数据集(使用硬编码数据,不是动态的)-

var data1 = google.visualization.arrayToDataTable([
                ['Country', 'Activity'],
                ['Germany', 100],
                ['United States', 200],
                ['India', 350],
            ]);
var data2 = google.visualization.arrayToDataTable([
                ['Country', 'Activity'],
                ['Germany', 200],
                ['United States', 300],
                ['India', 50],
            ]);

然后图表/地图正确显示,没有任何错误。

4

2 回答 2

0

查看GeoChart数据格式, 数据可以是三种格式之一,具体取决于您要显示的图表类型...

1) 区域模式

数据表应该至少有一个'string'位置列,
以及一个可选'number'的颜色列

2) 标记模式

数据表应至少有一'string'列用于位置,
或两'number'列分别用于纬度和经度,
然后是可选'number'列用于标记颜色,
另一'number'列用于标记大小

3) 文本模式

数据表应该至少有一个'string'位置列,
以及一个可选'number'的文本大小列


没有一种格式允许超过一'string'列,
这就是您收到以下错误的原因...
Table contains more columns than expected

将这些列切换为 时收到的错误'number'
因为您正在加载的数字是'string'格式

使用parseFloatparseInt...

data1.addRows([[enterpriseArray[j], parseFloat(suspiciousCountArray[j])]]);
于 2018-04-12T17:49:38.777 回答
0

这里的问题是我需要将字符串转换为整数(从我想要显示的动态数据;为此使用 parseInt),然后将 Data1 和 Data2 的类型更改为“数字”,正如Pirate X在他的评论。

于 2018-04-12T17:51:25.447 回答