当前位置: 首页 > 知识库问答 >
问题:

是否可以动态地向D3.Hierarchy添加子级?

扈沛
2023-03-14

大多数情况下使用静态json数据通过使用D3.Hierarchy生成树状图或可折叠的力图。但问题是,数据是动态的而不是静态的呢?另一方面,是否有任何方法或函数可以将子级添加到已经存在的D3.Hierarchy对象中?

我读过很多关于如何用D3制作一个可折叠的力定向的例子。但大多数使用的是静态json数据。

data = JSON.parse(my_json)
const root = d3.hierarchy(data);
...
function update(){
      const nodes = flatten(root);
      const links = root.links();
}
...
var data = {name: "flare",children: []}
const root = d3.hierarchy(data);
...
var child = {name: "animate", children: []}

因此,我不需要为根数据重新创建层次结构,我只需创建一个子层次结构对象并将其添加到根中。

共有1个答案

程承恩
2023-03-14

答案是否定的。您必须创建自己的函数来匹配动态数据情况。

 类似资料:
  • 许多数据集从从本质上是嵌套结构的。考虑在 geographic entities 应用场景中,比如人口普查,人口结构以及国家和州;企业和政府的组织结构;文件系统和软件包。甚至非层级的数据也可以被组合成层级数据结构,比如 k-means clustering(k - means 聚类) or phylogenetic trees (生态系统树)。 这个模块实现了几种经典的对层次结构数据的可视化技术:

  • 许多数据集从从本质上是嵌套结构的。考虑在 geographic entities 应用场景中,比如人口普查,人口结构以及国家和州;企业和政府的组织结构;文件系统和软件包。甚至非层级的数据也可以被组合成层级数据结构,比如 k-means clustering(k - means 聚类) or phylogenetic trees (生态系统树)。 这个模块实现了几种经典的对层次结构数据的可视化技术:

  • 问题内容: 如标题所述,我想基于仅在运行时可用的信息来动态加载(或不)动态加载Go软件包。 目的是允许用户通过添加新的本机脚本命令的自定义程序包扩展程序。当前,每次我添加新命令或禁止使用某些命令时,都需要编辑程序并重新编译,而如果我可以制作某种dll之类的文件,则可以创建一个“导入”脚本命令来搜索和加载命名命令库。 出于好奇,该程序是基于定制命令的脚本库,我将其用于各种用途。 我提前进行了一些搜索

  • https://www.jooq.org/doc/3.14/manual/sql-building/table-expressions/values/

  • 问题内容: 我有两个表,并添加了外键约束。海螺-效果很好。现在,是否可以针对父表中的某些数据进一步限制这种关系? 基本上,我在父表中有动物,而对于子表,希望仅包含父数据为.... um ..哺乳动物的数据。 例如。 因此,我希望确保AnimalId只能是Animals.AnimalType = 1类型 这可能吗?? 我不想让某人尝试在子表中插入一些针对爬行动物的信息… 干杯:) 编辑: 我以为我必

  • 问题内容: 如果要创建一个包含几列的新DataFrame,可以一次添加所有列-例如,如下所示: 但是现在假设走得更远,我想向此DataFrame添加一组其他列。有没有一种方法可以同时添加它们,如 我知道我可以这样做: 或这个: 我只是希望有一些清洁的东西。如果我坚持使用这两个选项,哪个是首选? 问题答案: 熊猫从那以后就有方法了。您可以在像这样的数据帧上使用它 或者,您可以直接使用字典,例如