【问题标题】:Extracting values for tooltip提取工具提示的值
【发布时间】:2019-04-27 21:49:04
【问题描述】:

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

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

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

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

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;
};

【问题讨论】:

    标签: javascript d3.js tooltip data-visualization


    【解决方案1】:

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

    size: data[node_counter].size,
    

    顺便说一句,group 有一个语法错误(您缺少冒号),应该是:

    group: data[node_counter].group,
    

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


    PS:作为一个友好的建议,你不需要那个繁琐的功能。只需更改 data 数组并将其直接传递给布局即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多