具有分层布局的有向无环图

时间:2018-02-13 13:26:48

标签: algorithm tree data-visualization directed-acyclic-graphs family-tree

我正在尝试以编程方式构建一个家谱。我不关心输入数据的格式,因为文本很容易解析(我是NLP研究员),但我无法弄清楚如何构建(显示)树。以下是我的问题:

  1. 家谱不是树。树是一种结构,其中每个子节点都有一个且只有一个父节点。家族树实际上是有向无环图(DAG)。
  2. 有许多库可以生成DAG,但这些可视化不是静态的,它们通常不令人满意。一些例子:

    • Kingraph通常可以做我想要的,但它无法绘制看起来没有断线和不干净的边缘。
    • Descendent Tree看起来很神奇,但它绝对是一棵树,而不是DAG。我已经把它变成了DAG,但我认为这不可能。
    • Graphviz可以完全按照我要求的方式完成,除了我无法将其从父级绘制边缘到孩子的中心(请参阅我之前的{{3} }})。
  3. 总之,我需要一个框架:

    1. 解析族谱数据,
    2. 根据数据构建DAG,
    3. 并生成具有分层布局的DAG的SVG,因此它在视觉上看起来像树。
    4. 我知道我将无法找到能完成这三项工作的东西(我花了两周的时间搜索),但我希望能找到能够完成后者的工作,或者至少有一些帮助开发算法这样做。在这一点上,我不在乎是否需要学习一种全新的语言才能做到这一点。我要求很多,但是你可以发送给我的任何资源,图书馆或建议都会有很大的帮助。

      免责声明正在寻找以下任何内容:

      我只是在寻找进行分层布局的算法。谢谢!

0 个答案:

没有答案