【问题标题】:D3.JS: implementing Force-Directed Graph for my tag data structureD3.JS:为我的标签数据结构实现 Force-Directed Graph
【发布时间】:2014-05-16 18:01:14
【问题描述】:

我正在尝试在我的应用程序中使用Force-Directed Graph。 但我真的坚持用我的标签数据来实现它。

我的标签数据结构是这样的:

for each Tag{
"name":<The name of the tags>
"friends":<a list of names of other tags that this tag need to be connected with>
}

我注意到example 链接中有源节点和目标节点的索引。 但我的动态数据没有这个。

有什么想法吗?

顺便说一句,我在 D3 中使用 AngularJS,并且数据在 Angular 中。

谢谢!!

【问题讨论】:

  • 链接需要是具有源和目标属性的对象列表,每个对象都引用一个节点。可以通过索引或通过引用节点对象来指定节点。您需要将名称替换为其中之一。
  • @LarsKotthoff 我想我可以先使用我的数据创建所有节点,但我不知道如何获取我创建的节点的引用。我想将它们(对那些节点的引用)存储到一个集合中,然后我可以搜索该集合并在朋友列表中找到节点并为它们建立链接。你知道如何创建节点并将它们存储到 D3 中的集合中吗?谢谢!
  • 用他们在节点列表中的索引替换朋友列表中的名字可能更容易。
  • 创建节点后,如何获取它们对应的索引?而且由于我要直接从数据库中获取这些数据,所以我无法更改它们。我可以创建另一个变量,例如哈希表,并使用它根据标签名称查找节点索引。我现在最担心的是我不确定我是否可以获得我刚刚在 D3 中创建的节点的索引。我没有看到任何例子这样做。任何的想法?谢谢!
  • 这是数据结构中的索引。如果您的第一个元素是“foo”,则朋友列表中出现的任何“foo”都应替换为 0。

标签: javascript json angularjs d3.js


【解决方案1】:

我的最终方法是使用 angular 指令。在指令的函数中,我首先生成链接对象然后做其他 d3 的东西。这个article 很有帮助!我的unperfected 代码是here

【讨论】:

    猜你喜欢
    • 2015-03-18
    • 2017-10-10
    • 2012-05-03
    • 1970-01-01
    • 2017-06-18
    • 1970-01-01
    • 1970-01-01
    • 2013-03-20
    • 1970-01-01
    相关资源
    最近更新 更多