Google Geochart - 相同的国家,不同的值

2024-01-22

我在显示一个国家的价值观时遇到了一些问题。问题是,我想显示某个球队的足球运动员来自哪里。由于其中许多人具有相同的国籍,因此当将鼠标悬停在该国家/地区时,地理图表仅显示数组中的姓氏,但我希望它显示所有名称。 这是代码:

var chart = function (item) {
  body = document.getElementById("regions_div");
  body.innerHTML = " ";
  var places = [];
  var names = [];
  for (var i = 0; i<item.length; i++) {
    person = item[i];
    country = person.nationality;
    name = person.name;
    places.push(country);
    names.push(name);
  };
  console.log(places);
  console.log(names);

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

  function drawRegionsMap() {

    var data = [];
    var header = ["Country", "Name"];
    data.push(header);
    for (var i = 0; i < places.length; i++) {
      var temp = [];
      temp.push(places[i]);
      temp.push(names[i]);
      console.log(temp);
      data.push(temp);
    }

    console.log(data);
    var chartdata = google.visualization.arrayToDataTable(data);

    var options = {};

    var chart = new google.visualization.GeoChart(document.getElementById('regions_div'));
    chart.draw(chartdata, options);
  }
}

And the screenshot, for example this time has multiple players from England but only the last one in the array is displayed : example

感谢帮助!


以下是构建自定义工具提示以显示每个国家/地区的所有名称的示例

the group()方法用于按国家/地区对名称进行分组

然后工具提示会针对中的每一行进行更新chartdata

对于每个国家/地区找到的所有名称

请参阅以下工作片段...

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

function drawRegionsMap() {
  var container = document.getElementById('regions_div');
  container.innerHTML = '';
  var names = ["Sam Johnstone", "Chris Smalling", "Phil Jones", "Luke Shaw"];
  var places = ["United Kingdom", "United Kingdom", "United Kingdom", "United Kingdom"];

  var data = [];
  var header = ["Country", "Name"];
  data.push(header);
  for (var i = 0; i < places.length; i++) {
    var temp = [];
    temp.push(places[i]);
    temp.push(names[i]);
    data.push(temp);
  }

  var chartdata = google.visualization.arrayToDataTable(data);

  // group data by country, name
  var groupdata = google.visualization.data.group(
    chartdata,
    [0, 1],
    [{
      aggregation: google.visualization.data.count,
      column: 1,
      label: "Name",
      type: "number"
    }]
  );

  // update tooltip for each chart data row
  for (var i = 0; i < chartdata.getNumberOfRows(); i++) {
    // find group rows for current country
    var locationRows = groupdata.getFilteredRows([{
      column: 0,
      value: chartdata.getValue(i, 0)
    }]);

    // build tooltip of all names for current country
    var nameTooltip = '';
    locationRows.forEach(function (index) {
      if (nameTooltip !== '') {
        nameTooltip += ', ';
      }
      nameTooltip += groupdata.getValue(index, 1);
    });

    // update tooltip
    chartdata.setValue(i, 1, nameTooltip);
  }

  var chart = new google.visualization.GeoChart(container);
  chart.draw(chartdata);
}
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="regions_div"></div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google Geochart - 相同的国家,不同的值 的相关文章

随机推荐

  • 如何在 bash 中组合关联数组?

    有谁知道一种优雅的方式来组合两个关联数组bash就像普通数组一样 这就是我要说的 在 bash 中 您可以按如下方式组合两个普通数组 declare ar array1 5 10 15 declare ar array2 20 25 30
  • 从 numpy 矩阵中删除均值

    我有一个 numpy 矩阵A数据按列向量虎式组织 即A 0 是第一个数据向量 A 1 是第二个 依此类推 我想知道是否有一种更优雅的方法来将这些数据的平均值归零 我目前正在通过for loop mean A mean axis 1 for
  • 如何处理来自 Java 客户端的服务器端 HTTP 文件上传

    我想将文件从客户端上传到服务器 客户端 使用 HTTP post 的 Java 服务器 Java Servlet 我在这里添加了客户端编码 但是 我对服务器端处理一无所知 请帮我提供一个代码片段 private String Tag UPL
  • 为什么 nokogiri 没有安装?

    我在 Ubuntu 12 04 上安装 Nokogiri 真是太痛苦了 我用的是rbenv gem install nokogiri v 1 6 1 ERROR While executing gem Errno EACCES Permis
  • 以编程方式获取 Android Market 帐户

    要获取 Android Market 帐户 我这样做 AccountManager accountManager AccountManager get this Account accounts accountManager getAcco
  • bash 中 sed untermated s 命令出错

    我在 bash 脚本中使用 sed 时遇到问题 这是该行 sed i s name input g input script 我收到此错误 sed e 表达式 1 字符 24 未终止的 s 命令 奇怪的是它在我的代码的早期版本中工作 我一直
  • 删除 pandas 中的单个列和一系列列[重复]

    这个问题在这里已经有答案了 最快的掉落方法是什么columns 3 and columns 9 15 我只能使用以下方法分两步删除列df drop method 1 2 3 4 5 6 n A x x x x x x x B x x x x
  • JMH:以 json 对象的形式返回基准测试结果

    我正在将集成基准测试开发到应用程序中 我想用JMH http openjdk java net projects code tools jmh 作为我的框架 如何接收 JSON 对象形式的结果 我知道我可以使用以下运行选项将其保存在文件中
  • Python ValueError:形状为 (124,1) 的不可广播输出操作数与广播形状 (124,13) 不匹配

    我想使用标准化训练和测试数据集MinMaxScaler in sklearn preprocessing 但是 该包似乎不接受我的测试数据集 import pandas as pd import numpy as np Read in da
  • 从android中的运动事件获取所有x和y坐标

    我目前正在开发自己的基本绘图应用程序 到目前为止 我的应用程序运行良好 但我注意到我的运动事件似乎没有获取所有被触摸的 X 和 Y 轴点 当我在屏幕上移动手指时 圆圈之间有明显的空格 只有当我慢慢移动手指时 它才会捕捉到所有的点 有没有办法
  • 使用 Visual Studio 2008 在 Windows 上编译我自己的 PHP 扩展

    我写了一个PHP扩展 在linux下可以成功编译运行 但在Windows上 我遇到了一些问题 我根据windows进行了编译http blog slickedit com p 128 http blog slickedit com p 12
  • 在顶部添加元素时保持滚动位置在 Firefox 中有效,但在 Chrome 中无效

    我有一个流星应用程序 https wikimedia meteorapp com 源代码 https github com mitar mediawiki stream 它有一个条目流 并且新条目不断添加到顶部 我试图做到这一点 以便如果用
  • 如果另一个目录中不存在同名但扩展名不同的文件,则删除文件

    我有3个目录 我想删除其中的文件raw and xml which 不在 clean raw sample clean raw 1 jpg 2 jpg 5 jpg raw 1 jpg 2 jpg 3 jpg 4 jpg 5 jpg xml
  • 在 vim 中通过 grep 选择结果文件

    当我使用 grep 在 vi m 中运行 grep 搜索后 我得到了一个文件列表 有没有办法选择其中一个文件并在该特定行的新选项卡中打开它 只是为了完整性 以及 copen命令 还有 cw 如果有条目 它只会打开 quickfix 窗口 因
  • Vue v-for 和 v-if

    我发现其中有些不一致之处Vue文档 如果有人澄清这一点 请 看着v for with v if https v2 vuejs org v2 guide list html v for with v if它说这样做可能会有用 就我而言 我正处
  • 如何使用 cypress 存根对 graphql 的调用?

    我正在编写一个使用 vue apollo 与 graphql 交互的 Vue 应用程序 我想知道是否可以存根 graphql 请求 我认为这应该有效 it should access a story function cy server c
  • T-SQL 修剪(和其他非字母数字字符)

    我们有一些输入数据有时会在末尾出现 nbsp 字符 数据以 varchar 形式从源系统传入 我们尝试将这些字符转换为十进制失败 Ltrim 和 Rtrim 不会删除字符 因此我们被迫执行以下操作 UPDATE myTable SET my
  • 使用 CsvHelper 编写异步的正确方法

    有人可以告诉我如何使用CSVWriter不阻塞地写入对象列表 这对我来说并不明显 我需要先打电话吗写记录 在此之后FlushAsync 或者我应该使用一个一个地编写每个对象NextRecordAsync 实际上 我希望使用专用方法 但它不存
  • Visual Studio 关于具有不同内容的文件副本的警告

    当我在 Visual Studio 中调试 C 项目时 会弹出一个小警告对话框 告诉我 A copy of datum h was found in c users brad desktop source binary datum h bu
  • Google Geochart - 相同的国家,不同的值

    我在显示一个国家的价值观时遇到了一些问题 问题是 我想显示某个球队的足球运动员来自哪里 由于其中许多人具有相同的国籍 因此当将鼠标悬停在该国家 地区时 地理图表仅显示数组中的姓氏 但我希望它显示所有名称 这是代码 var chart fun