javascript - d3 : Data Distribution to Elements Based on Specific Field

标签 javascript html svg d3.js filter

是否可以使用 d3 将数据“分发”到基于一个字段的每个元素(例如圆圈)?

假设我有一个包含以下字段的数据集: “姓名”、“年龄”、“来自”。

我想创建圆圈,每个圆圈将包含包含“from”==“SOMEVALUE”的所有行。

d3 代码如下所示:

d3.selectAll(".circle")
  .data(data)   // <- I want each circle to hold filtered data
  .enter()      // based on field "from".
  .append("circle")
  .filter(....)

如果问题措辞不当,我深表歉意。 提前致谢!

最佳答案

在 d3 绑定(bind)数据之前使用 native 数组的 .filter() 过滤数据。像这样:

d3.selectAll(".circle")
  .data(data.filter(function(d) {
    return d.from == 'SOMEVALUE'
  })
  .enter()      // based on field "from".
  .append("circle")

关于javascript - d3 : Data Distribution to Elements Based on Specific Field,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29155515/

相关文章:

javascript - 父组件的 Angular 无限重新渲染

javascript - 多个 <li> 的鼠标悬停

javascript - 创建 Jquery 函数以将值发送到 php

html - Firefox 上疯狂的 CSS 剪辑路径错误

javascript - 通过 HTML 标签获取对象并从本地存储中移除

javascript - 当使用模块捆绑与完整的 D3 捆绑时,D3.v4 力图中断

javascript - focus() 方法在 jquery 中不起作用

javascript - 允许使用 jQuery 拖动具有相同 ID 的对象

html - 在 Bootstrap 中悬停菜单时更改 SVG?

javascript - 如何使用一个 get 方法克隆标签对象?