Google 地理图表数据表不兼容:错误:表格包含的列数超过预期(预期为 3 列)



我有以下代码并发现不兼容的数据表: 错误:表包含的列数超过预期(预期 3 列)

function drawMarkersMap() {
  var data = google.visualization.arrayToDataTable([
    ['State',                             'User', 'Company','data'],
    ['Australian Capital Territory',       100,        160, 100],
    ['Northern Territory',                 250,        250, 200 ],
    ['Western Australia',                  150,        350, 300],
    ['New South Wales',                    300,        100, 400],
    ['Victoria',                           50,         156, 50],
    ['Queensland',                         10,         150, 20],
    ['South Australia',                    160,        168, 23],
    ['Tasmania',                           250,        568, 3443]
    ]);
  var options = {
    region : 'AU',
    displayMode : 'markers',
    colorAxis : {
      colors: ['blue', 'red']
    }
  };
  var chart = new google.visualization.GeoChart(document.getElementById('chart_div_geo'));
chart.draw(data, options);
};

Geocharts不支持像您那样拥有3个不同的数据列。

区域图表

对于区域图表,数据应仅包括:

  1. 地区(国家、次大陆、大陆等)
  2. 颜色(根据单个数据类别确定每个区域的颜色)

标记图表

对于标记图表,数据应仅包括:

    位置
  1. (纬度/经度或指示位置的字符串)
  2. (可选)仅纬度/经度位置的位置名称
  3. 颜色(基于单个数据类别的标记颜色)
  4. 大小(基于单个数据类别的标记大小)
目前,您的

示例是具有第三个数据类别的标记图表,该类别不受支持(您的User将决定颜色,Company将决定大小)。

这是您的解决方案:

var view = new google.visualization.DataView(data);
view.setColumns([0, {
type: 'number',
label: 'Total Staff',
calc: function (dt, row) {
    return {
        v: dt.getValue(row, 1),
        f: dt.getFormattedValue(row, 1) + ' (' + dt.getFormattedValue(row, 2) + ' IT, ' + dt.getFormattedValue(row, 3) + ' HR, ' + dt.getFormattedValue(row, 4) + ' Sales)'
    }
}
}]);
 chart.draw(view, {...

最新更新