Graphviz / Dot中基于​​产品的计划图

时间:2017-04-21 14:28:03

标签: graphviz dot

我正在尝试制作一个基于产品的计划" Dot中的图表,但我无法弄清楚如何获得结构,我正在寻找。

这是我到目前为止编写的代码:

graph ProductBasedPlanning
{
  node [shape="box"];
  rankdir = "TB";
  splines="FALSE";
  "Main product" -- {"Functionality 1" "Functionality 2"}

  "Functionality 1" -- {"Functionality 1a" "Functionality 1b"}
}

enter image description here

但我希望创建这样的东西:

enter image description here

那么,我如何让线条以90度角移动? 以及如何"堆叠"像示例中的方框?

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

我使用了rank="same"shape="point"节点。

graph ProductBasedPlanning
{
    node [shape="box"];
    rankdir = "TB";
    splines=false

    "xm1" [shape="point"]
    "xm2" [shape="point"]
    "xm3" [shape="point"]

    "Main product" -- "xm2" 

    {
        rank="same"
        "xm1" -- "xm2" -- "xm3" [constraint=false]
    }

    "xm1" -- "Functionality 1"
    "xm2" -- "Functionality 2"
    "xm3" -- "Functionality 3"

    "Functionality 1" -- "x1a" -- "x1b" -- "x1c"
    "Functionality 2" -- "x2a" -- "x2b" -- "x2c"
    "Functionality 3" -- "x3a" -- "x3b" -- "x3c"

    {
        rank="same"
        "x1a" [shape="point"]
        "x1a" -- "Functionality 1a" 
    }
    {
        rank="same"
        "x1b" [shape="point"]
        "x1b" -- "Functionality 1b"
    }
    {
        rank="same"
        "x1c" [shape="point"]
        "x1c" -- "Functionality 1c"
    }

    {
        rank="same"
        "x2a" [shape="point"]
        "x2a" -- "Functionality 2a"
    }
    {
        rank="same"
        "x2b" [shape="point"]
        "x2b" -- "Functionality 2b" 
    }
    {
        rank="same"
        "x2c" [shape="point"]
        "x2c" -- "Functionality 2c"
    }

    {
        rank="same"
        "x3a" [shape="point"]
        "x3a" -- "Functionality 3a"
    }
    {
        rank="same"
        "x3b" [shape="point"]
        "x3b" -- "Functionality 3b"
    }
    {
        rank="same"
        "x3c" [shape="point"]
        "x3c" -- "Functionality 3c" 
    }
}

enter image description here

相关问题