谷歌图表没有显示Axis?

时间:2017-02-05 12:01:03

标签: javascript google-visualization

今天早上我一直在搞乱谷歌地理图表,虽然我大部分都在使用它,但它并没有显示轴底部。它也不会在悬停的工具提示中显示该国家。

我正在使用的代码是:

<script type="text/javascript">
    function mapMe() {
      google.charts.load('upcoming', {'packages':['geochart']});
      google.charts.setOnLoadCallback(drawRegionsMap);

      function drawRegionsMap() {
        arr = myParse();        
        var data = google.visualization.arrayToDataTable(arr);  

        var options = {colorAxis: {colors: ['#f5f5f5','#267114']}};
        var chart = new google.visualization.GeoChart(document.getElementById('regions_div'));

        chart.draw(data, options);
      }
    }
</script>
<div class='container'>
    <div id="regions_div" style="width: 900px; height: 500px;"></div>
        <br><br><br><textarea rows="4" cols="50" id="testArea"></textarea>
        <button onclick='mapMe()'>
</div>

..并且为数组调用的函数是:

function myParse() {
    var data = $('#testArea').val();
    var rows = data.split("\n");
    var result = [];
    var col = [];
    for (var r in rows) {
        row = rows[r].split("\t");
        result.push(row);
    }
    return result;
}

结果:screenshot

我输入的数据是从Excel复制并粘贴到文本区域。它看起来像:

|Country|Number|
|Russia |1     |
..etc

我错过了一些愚蠢的话吗?只是无法解开它。非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

改变了我的方法并使其正常工作,尽管不是我原先的意图:

    function mapMe() {

        google.charts.load('upcoming', {'packages':['geochart']});
        google.charts.setOnLoadCallback(drawRegionsMap);

        function drawRegionsMap() {

            var data_table = new google.visualization.DataTable();

            //NEED TO UPDATE THIS TO CHECK DATA TYPE OF FIRST ROW AND AUTO OUTPUT COLUMN HEADERS
            data_table.addColumn({"type": "string","label": "Country"});
            data_table.addColumn({"type": "number","label": "Volume"});

            var datas = $('#testArea').val();
            var rows = datas.split("\n");

            for (var r = 1; r < rows.length; r++) {
                row = rows[r].split("\t");
                data_table.addRow([{v: row[0]}, {v: parseInt(row[1])}]);
            }

            var options = {colorAxis: {colors: ['#f5f5f5','#267114']},  legend: {textStyle: {color: 'blue', fontSize: 16}}};
            var chart = new google.visualization.GeoChart(document.getElementById('regions_div'));


            chart.draw(data_table, options);
        }
    }

我没有尝试传入数组,而是循环使用addRow命令。