用户在d3.js强制有向图中选择节点集的设计选项

时间:2012-11-20 03:58:50

标签: javascript graph d3.js selection force-layout

我正在使用d3.js强制定向布局进行交互式图形可视化。我希望用户能够通过逐个点击来选择节点集。我有一组计算,我将允许用户在选定的集合上执行。例如,用户可以选择两个不同的节点,然后让系统计算它们之间的最短路径(如果有的话)。

所以,问题是如何表示所选择的节点集,以便我可以(a)允许用户在集合中添加和删除节点,(b)可视化所选节点(例如,通过突出显示它们), (c)在节点上进行计算。

我看到一些不同的选项可以在d3管道中的不同点工作。

一种是在数据本身上有一个标志,指示是否选择了节点。突出显示节点很简单:各种样式和属性函数查看d.selected标志。但是,我不确定处理选择和取消选择节点的最佳策略是什么。我是否设置了数据值,然后重新运行整个d3.selectAll.data.enter ..混乱?

另一种选择是将所选节点的单独数组保持为全局变量。这使得查找节点集很容易。要实现突出显示样式/属性函数,将查看给定节点是否在集合中。同样,我不确定如何在集合中添加或删除节点时更改可视化。

最后一个选项是在单击每个节点时更改它们的样式/属性。但是,我如何确定所选节点的集合?

非常感谢任何建议!

0 个答案:

没有答案