如何在森伯斯特中获得淤泥元素

时间:2015-06-15 21:55:41

标签: d3.js sunburst-diagram

我是d3.js的新手,我正在创建一个基于surburst的可视化。有人可以告诉我如何在d3.js中获取兄弟元素外部元素enter image description here

1 个答案:

答案 0 :(得分:0)

从数据构建层次结构的主要部分将由d3完成。检查spec partition.nodes(root)有关如何将此信息放入节点的信息。基本上,d3将使用对其parent及其children的引用来填充每个节点,从而提供导航层次结构所需的所有内容。

作为起点,您可以查看此sunburst diagram。将鼠标悬停在圆弧上时,会突出显示此弧以及直到根节点的祖先。层次结构中要突出显示的节点的选择在一个函数中进行:

// Given a node in a partition layout, return an array of all of its ancestor
// nodes, highest first, but excluding the root.
function getAncestors(node) {
  var path = [];
  var current = node;
  while (current.parent) {
    path.unshift(current);
    current = current.parent;
  }
  return path;
}

这个函数的更简单版本将选择节点及其兄弟节点而不是祖先:

function getAncestors(node) {
  return node.parent.children;
}

我将上述示例改编为plunk,演示了这可能有助于解决您的问题。在这种情况下,悬停节点及其兄弟节点将突出显示。