提取工具提示的值

Extracting values for tooltip

这是我之前关于气泡图的帖子的延续,我一直在努力制作。我通过修改 Chris Tufts 的代码达到了我想要的效果:

https://blockbuilder.org/lydiawawa/347e2b0aeed51d7dc56fde40b08e5fcd

但是,当我尝试添加工具提示时,我无法提取 BMI 和 Race 的原始值(在代码中,BMI = size 和 Race = group)这是因为 .data 正在调用节点而不是原始数据。有谁知道如何指向工具提示以获取正确的值?

我知道我应该在 create_node 函数中定义组和大小,如下所示,但我收到了意外的 var 标记错误。

function create_nodes(data,node_counter) {
  var i = cs.indexOf(data[node_counter].group),
  var z = cs.data[node_counter].group,
  var s = cs.data[node_counter].size,
      r = Math.sqrt((i + 1) / m * -Math.log(Math.random())) * maxRadius,
      d = {
        cluster: i,
        z,
        s,
        radius: radiusScale(data[node_counter].size)*1.5,
        text: data[node_counter].text,
        x: Math.cos(i / m * 2 * Math.PI) * 200 + width / 2 + Math.random(),
        y: Math.sin(i / m * 2 * Math.PI) * 200 + height / 2 + Math.random()
      }

  if (!clusters[i] || (r > clusters[i].radius)) clusters[i] = d;
   console.log(d);
  return d;
};

您可以像创建 group 一样轻松地创建 size 属性:

size: data[node_counter].size,

顺便说一下,你在 group 中有一个语法错误(你漏掉了冒号),应该是:

group: data[node_counter].group,

这是您更新后的 bl.ocks:https://bl.ocks.org/GerardoFurtado/5802f23a0bd1c4a3f94f95eded56bc97/dc36321d0d4bb7db2a44246f9330f22099276524


PS:友情提示,不需要那个繁琐的功能。只需更改 data 数组并将其直接传递给布局即可。