代码之家  ›  专栏  ›  技术社区  ›  Erwin Smith

Graphviz如何控制边缘

  •  3
  • Erwin Smith  · 技术社区  · 7 年前

    screenshot

    digraph M
    {
      style=filled;
      graph [splines = headport];
    
      START->1
      1->"Is COUNT\nan even\nnumber?"
      "Is COUNT\nan even\nnumber?"->"SUM = SUM +\nCOUNT" [label=TRUE]
      "SUM = SUM +\nCOUNT"->2
      "Is COUNT\nan even\nnumber?"->2 [label=FALSE]
      2->"COUNT = COUNT+1"
      "COUNT = COUNT+1"->"IS COUNT >\n20"
      "IS COUNT >\n20"->1 [label=FALSE]
      "IS COUNT >\n20"->STOP[label=TRUE]
    
    
      "Is COUNT\nan even\nnumber?"[shape=diamond]
      "SUM = SUM +\nCOUNT"[shape=rectangle]
      "IS COUNT >\n20"[shape=diamond]
      "COUNT = COUNT+1"[shape=rectangle]
      1[shape=circle]
      2[shape=circle]
      START[shape=record, style="rounded"]
      STOP[shape=record, style="rounded"]
    }
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   TomServo    7 年前

    我对你的图表做了一些修改,以使你更接近。样条曲线的多段线,并更改了1和2节点的属性,使其更接近您的目标。显然并不完美,但希望能更好地提供帮助并提出其他方法,您可以在不进行重大重新设计的情况下进一步改进它。

    digraph M
    {
      style=filled;
      graph [splines = headport splines=polyline];
    
      START->1
      1->"Is COUNT\nan even\nnumber?"
      "Is COUNT\nan even\nnumber?"->"SUM = SUM +\nCOUNT" [label=TRUE]
      "SUM = SUM +\nCOUNT"->2
      "Is COUNT\nan even\nnumber?"->2 [label=FALSE]
      2->"COUNT = COUNT+1" 
      "COUNT = COUNT+1"->"IS COUNT >\n20"
      "IS COUNT >\n20"->1 [label=FALSE tailport=e]
      "IS COUNT >\n20"->STOP[label=TRUE ]
    
    
      "Is COUNT\nan even\nnumber?"[shape=diamond]
      "SUM = SUM +\nCOUNT"[shape=rectangle]
      "IS COUNT >\n20"[shape=diamond]
      "COUNT = COUNT+1"[shape=rectangle headport=n]
      1[shape=point size="0,0" label=""]
      2[shape=point size="0,0" label=""]
      START[shape=record, style="rounded"]
      STOP[shape=record, style="rounded"]
    }