我是d3.js的新手,我正在创建一个基于surburst的可视化。有人可以告诉我如何在d3.js中获取兄弟元素外部元素
答案 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,演示了这可能有助于解决您的问题。在这种情况下,悬停节点及其兄弟节点将突出显示。