相关疑难解决方法(0)

如何在基于d3.js的"家庭树"中展示婚姻?

我是一名HTML/CSS开发人员,正在研究构建"家庭树"的javascript解决方案,这种解决方案需要以有意义的方式展示婚姻(当然来自家庭以外).

基本上我看着它立足于一个树状图的基础上,d3.js,例如http://bl.ocks.org/4063570,但我在努力寻找任何东西在那里,表示"结婚".

下面是我将基于它的数据的图像:

这是我的数据

任何帮助/建议/链接将不胜感激!我只是不知道它是否可能,但是我很乐意使用d3.js,因为它看起来很精致,而且看起来很多功能.

javascript tree visualization genealogy d3.js

32
推荐指数
2
解决办法
2万
查看次数

d3.js中的多个家族树中的合作伙伴?

有一个来自Cyril惊人答案的家谱,但我正在试图弄清楚如何调整它以支持多个合作伙伴.在这种情况下,我添加了一个"情妇"节点,并试图表示"女主人"和"约翰"有一个名为"隐藏的儿子"的孩子.

当前的数据结构如下:

在此输入图像描述

在那里,root对象存储一切.它有一个children数组,其中包含没有父母的最"代".它还包含一个包含这些兄弟对象/节点的子对象的对象.在上面的例子中,这是root.children[2].

我想我将不得不重构数据结构children并注入有关孩子的父母的信息.只是在概念化这个以及线路时遇到了麻烦

最终将是这样的,除了情妇将在左侧:

在此输入图像描述

charts family-tree d3.js

22
推荐指数
1
解决办法
2001
查看次数

如何在强制导向图中禁用动画?

有没有办法在D3强制导向图中禁用动画?

我正在使用这个例子:https://bl.ocks.org/mbostock/4062045

我想在没有初始动画的情况下渲染图形,即显示其最终位置中的所有节点和链接.

javascript d3.js force-layout d3-force-directed

11
推荐指数
2
解决办法
3506
查看次数

用 d3 或 cytoscape 渲染家谱

我在用 Javascript 生成好看的家谱时遇到问题。

要求:

  • 每个孩子都应该连接到树中的两个父母,而不是一些图中的一个
  • 我喜欢配偶在树上彼此相邻(相同的垂直位置)
  • 我想把节点按世代纵向组织起来,让你一眼就能看到同一年代出生的人。
  • 随着时间的推移,一个人可以有多个配偶,每个人都有孩子
  • 树中可以自由添加父子,不要只是“一人向上溯源”

我试过的最接近这个:

  1. 使用Dagre作为布局引擎的Cytoscape JS,启用曲线样式:出租车边缘。 家谱

    (随机数据图表,实线为亲子关系,虚线为配偶)

    问题是配偶彼此不一致。Dagre 历来支持“等级”作为节点的参数,这意味着您可以强制某些节点处于特定高度(如果愿意,可以将其视为“一代”)。不幸的是,它不再起作用负责的开发人员也不再从事该项目。这将很好地解决我的问题。

我尝试过但失败的其他事情:

  1. 将 dagre 降级到支持排名的旧版本?

    还没有获得使用任何版本的 dagre 的等级。

  2. D3dagre-d3

    和上面一样的问题,因为dagre-d3是dagre的修改版本,这意味着它不支持按代排序。

  3. yFiles 家谱演示看起来很棒,但很商业化。对于我的目的(希望任何人建立自己的家谱),单个开发人员许可证的成本是 26.000 美元(!?!)。显然不能接受。

    yFiles 家谱

我的问题

是否可以像我上面描述的那样垂直对齐我的 cytoscape/dagre 图中的节点?

如果没有,我愿意尝试其他库和其他布局算法。

我正在寻找一个看起来类似于 yFiles 解决方案但使用开源工具的工作示例。

javascript d3.js cytoscape.js dagre dagre-d3

8
推荐指数
1
解决办法
1203
查看次数

如何使用d3.js获取垂直方向的树

以下url将获得水平方向的树.但是我的要求是使用d3获得垂直方向的树.请为此要求建议正确的有效解决方案.

d3js树广场 在此输入图像描述

javascript svg d3.js

7
推荐指数
2
解决办法
6799
查看次数

D3 树布局可视化 - 继承具有多个父级的子级

我是 D3 可视化的新鲜蜜蜂。目前正在为数据沿袭创建 D3 树布局可视化。在数据沿袭流中,可以从多个父节点派生一个子节点。这是示例。在下面的示例中,“DevLead”可能与 2 个经理一起工作。

var data = [
     { "name": "Director", "parent": "null", "depth": 0 },
     { "name": "Manager1", "parent": "Director", "depth": 1 },
     { "name": "Manager2", "parent": "Director", "depth": 1 },
     { "name": "DevLead", "parent": "Manager1", "depth": 2 },
     { "name": "DevLead", "parent": "Manager2", "depth": 2 }
        ];
Run Code Online (Sandbox Code Playgroud)

获取输出请参考下图。

输出

我希望看到“DevLead”孩子应该只展示一个,并且应该从“Manager1”和“Manager2”派生出来。任何人都可以帮助解决这个问题。

treeview d3.js

7
推荐指数
1
解决办法
9774
查看次数

在d3.js中,带有多个子节点的树(类似于家谱)

var treeData = [{
    "name": "Device",
    "parent": "null"
  }

];
var treeData2 = [{
    "name": "Device",
    "parent": "null"
  }

];

$(document).ready(function() {

  var margin = {
      top: 20,
      right: 120,
      bottom: 20,
      left: 120
    },
    width = 1260 - margin.right - margin.left,
    height = 500 - margin.top - margin.bottom;

  var i = 0,
    duration = 750,
    root;

  var tree = d3.layout.tree()
    .size([height, width]);

  var diagonal = d3.svg.diagonal()
    .projection(function(d) {
      return [d.y, d.x];
    });

  var svg = d3.select("body").append("svg")
    .attr("width", width + …
Run Code Online (Sandbox Code Playgroud)

javascript tree d3.js

6
推荐指数
1
解决办法
3555
查看次数

如何将两个父节点连接到一个子节点,以及如何实用地为树中的每个节点制作工具提示?在 D3 js (SVG) 中

我制作了一个树形图结构,它工作得非常好。但现在我想做一个小小的改变却无法做出改变。我想将两个父节点连接到一个子节点...我还尝试实用地向每个节点添加一个工具提示。

例如 - 如果您运行代码,您会更清楚地看到它。我想创建 Hanna 的子节点并标记它将连接到名为“Eric”的子节点。

知道如何实现这一目标吗?

var svg = d3
  .select("body")
  .append("svg")
  .attr("width", 600)
  .attr("height", 600)
  .append("g")
  .attr("transform", "translate(50,50)");

//tree data
var data = [
  { child: "John", parent: "" },
  { child: "Aron", parent: "Kevin" },
  { child: "Kevin", parent: "John" },
  { child: "Hannah", parent: "Anna" },
  { child: "Rose", parent: "Sarah" },
  { child: "Anna", parent: "John" },
  { child: "Sarah", parent: "Kevin" },
  { child: "Mark", parent: "Anna" },
  { child: "Angle", parent: "Sarah" }, …
Run Code Online (Sandbox Code Playgroud)

javascript css svg dom d3.js

5
推荐指数
1
解决办法
1759
查看次数

d3.js 家族图

在此处输入图片说明

^ 这是开始增强图表以获取出生/死亡/姓名数据的目标 - 但让它更灵活地获取它。还要清理数据源。

在此处输入图片说明

我正在尝试开发 d3.js 家族图。我有兴趣尝试增强此图表的数据结构,以及标签的添加和空间/设计——如果有一种方法可以为零件提供动态长度以为其提供所需的空间。

我做了这个 jsfiddle http://jsfiddle.net/857edt69/30/

  // Create the node rectangles.
  nodes.append("circle")
    .attr("class", "node")
    .attr("r", function(d, i) {
      return smallRadius;
    })
    .style("fill", function(d, i) {

      var userName = d.userName;
      if (userName) {
        userName.toLowerCase()
      }

      var id = d.id + "-" + userName; //small circles
      return "url(#" + id + ")";
    })
    .attr("id", function(d) {
      return d.id;
    })
    .attr("display", function(d) {
      if (d.hidden) {
        return "none"
      } else {
        return ""
      };
    })
    .attr("cx", function(d) {
      return …
Run Code Online (Sandbox Code Playgroud)

javascript d3.js

-4
推荐指数
1
解决办法
2289
查看次数