今天早上我一直在搞乱谷歌地理图表,虽然我大部分都在使用它,但它并没有显示轴底部。它也不会在悬停的工具提示中显示该国家。
我正在使用的代码是:
<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;
}
我输入的数据是从Excel复制并粘贴到文本区域。它看起来像:
|Country|Number|
|Russia |1 |
..etc
我错过了一些愚蠢的话吗?只是无法解开它。非常感谢任何帮助!
答案 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命令。