依赖图工具

Ram*_*hum 17 productivity

我正在寻找一种可以让我处理依赖关系图的工具。(我想要这个用于我的个人任务,比如待办事项列表。)比如,假设我有任务 1、2 和 3。那么任务 2 可能需要任务 1,任务 3 部分需要任务 1,并且任务 3 需要任务 2,等等。我应该能够轻松编辑,轻松更改任务之间的关系,并有一个很好的图形视图。

你知道这样的事情吗?

Joh*_*n T 32

Graphviz怎么样?它实际上允许您以文本形式创建图形,并为您处理可视化:

这是 UNIX 家谱图

替代文字

这是生成它的代码:

/* courtesy Ian Darwin and Geoff Collyer, Softquad Inc. */
digraph unix {
    size="6,6";
    node [color=lightblue2, style=filled];
    "5th Edition" -> "6th Edition";
    "5th Edition" -> "PWB 1.0";
    "6th Edition" -> "LSX";
    "6th Edition" -> "1 BSD";
    "6th Edition" -> "Mini Unix";
    "6th Edition" -> "Wollongong";
    "6th Edition" -> "Interdata";
    "Interdata" -> "Unix/TS 3.0";
    "Interdata" -> "PWB 2.0";
    "Interdata" -> "7th Edition";
    "7th Edition" -> "8th Edition";
    "7th Edition" -> "32V";
    "7th Edition" -> "V7M";
    "7th Edition" -> "Ultrix-11";
    "7th Edition" -> "Xenix";
    "7th Edition" -> "UniPlus+";
    "V7M" -> "Ultrix-11";
    "8th Edition" -> "9th Edition";
    "1 BSD" -> "2 BSD";
    "2 BSD" -> "2.8 BSD";
    "2.8 BSD" -> "Ultrix-11";
    "2.8 BSD" -> "2.9 BSD";
    "32V" -> "3 BSD";
    "3 BSD" -> "4 BSD";
    "4 BSD" -> "4.1 BSD";
    "4.1 BSD" -> "4.2 BSD";
    "4.1 BSD" -> "2.8 BSD";
    "4.1 BSD" -> "8th Edition";
    "4.2 BSD" -> "4.3 BSD";
    "4.2 BSD" -> "Ultrix-32";
    "PWB 1.0" -> "PWB 1.2";
    "PWB 1.0" -> "USG 1.0";
    "PWB 1.2" -> "PWB 2.0";
    "USG 1.0" -> "CB Unix 1";
    "USG 1.0" -> "USG 2.0";
    "CB Unix 1" -> "CB Unix 2";
    "CB Unix 2" -> "CB Unix 3";
    "CB Unix 3" -> "Unix/TS++";
    "CB Unix 3" -> "PDP-11 Sys V";
    "USG 2.0" -> "USG 3.0";
    "USG 3.0" -> "Unix/TS 3.0";
    "PWB 2.0" -> "Unix/TS 3.0";
    "Unix/TS 1.0" -> "Unix/TS 3.0";
    "Unix/TS 3.0" -> "TS 4.0";
    "Unix/TS++" -> "TS 4.0";
    "CB Unix 3" -> "TS 4.0";
    "TS 4.0" -> "System V.0";
    "System V.0" -> "System V.2";
    "System V.2" -> "System V.3";
}
Run Code Online (Sandbox Code Playgroud)

如您所见,语法很容易添加,您可以轻松地将其用作自己的骨架:

digraph workingcomputer {
    size="6,6";
    node [color=lightblue2, style=filled];
    "Computer" -> "Hardware";
    "Hardware" -> "Hard Drive";
    "Hardware" -> "CPU";
    "Hardware" -> "Memory";
    "Hardware" -> "Motherboard";
    "Hardware" -> "Power Supply";
    "Hardware" -> "GPU";
/* And so on.... */
}
Run Code Online (Sandbox Code Playgroud)

  • 这看起来很不错。但我想要一些你不必编辑文本文件的东西,比如非程序员的程序。 (4认同)
  • 对于那些第一次看到 Graphviz 的人,这个答案中的例子可以转换为一个图像,例如`dot -Tsvg filename.ext`,其中`filename.ext` 是你保存代码的文件的名称。 (3认同)