Back to prev

Things About GraphViz

Jul 20, 2022
Linkang Chan
@Jesse Chan

dot

dot ่ฏญ่จ€ๆœฌ่บซๆไพ›ไบ†ไธ€ไบ›่ฎพ็ฝฎGraph๏ผŒEdge,Node็š„ๆ ทๅผ็š„่ฏญๆณ•๏ผŒไฝ†ๆ˜ฏๆœ‰ๆ—ถๅ€™ๆˆ‘ไปฌๅฏไปฅ้€š่ฟ‡ dot ๅ‘ฝไปค่กŒๆฅ่ฎพ็ฝฎ๏ผŒ่ฟ™ๆ ทไผผไนŽไผšๆ›ดๅŠ ็š„็ตๆดปไธ€ไบ›๏ผŒๆ–นๆณ•ไนŸๆฏ”่พƒ็ฎ€ๅ•:

$ dot -h
...
-Gname=val  - Set graph attribute 'name' to 'val'
-Nname=val  - Set node attribute 'name' to 'val'
-Ename=val  - Set edge attribute 'name' to 'val'
...

ๆฏ”ๅฆ‚ๆˆ‘ไปฌๅฐ† Node ็š„้ขœ่‰ฒ่ฎพ็ฝฎๆˆ็บข่‰ฒ๏ผŒ้‚ฃไนˆๅฏไปฅ่ฟ™ๆ ท:

dot graph.dot -Tpng -Ncolor='red' > graph.png

graph-easy

่ฟ™ๆ˜ฏไธ€ไธช Perl ็ผ–ๅ†™็š„ๅฐๅทฅๅ…ท๏ผŒๅฏไปฅๆ–นไพฟๅฟซ้€Ÿ็š„็ป˜ๅˆถๅ›พๅฝขใ€‚ๆฏ”ๅฆ‚ๆˆ‘ไปฌๅฏไปฅๅฐ† dot ็š„ๅ›พๅฝข็ป˜ๅˆถๆˆไธ€ไธช ascii ๅฝขๅผ็š„ใ€‚ ไธ‹่ฝฝๅฎ‰่ฃ…ๅฏ่ฎฟ้—ฎ๏ผšgraph-easy

digraph {
    graph [rankdir = TB];

    b1 -> b7
    b7 -> b3
    b7 -> b2
    b2 -> b13
    b3 -> b6
    b3 -> b5
    b13 -> b9
    b13 -> b8
    b5 -> b4
    b6 -> b4
  }

ๆ‰ง่กŒgraph-easy cfg.dot --as boxartๅˆ™ไผš็”Ÿๆˆๅฆ‚ไธ‹็š„ๅ›พๅฝข๏ผš

                       โ”Œโ”€โ”€โ”€โ”€โ”
                       โ”‚ b1 โ”‚
                       โ””โ”€โ”€โ”€โ”€โ”˜
                         โ”‚
                         โ”‚
                         โ–ผ
           โ”Œโ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”
           โ”‚ b2  โ”‚ โ—€โ”€โ”€ โ”‚ b7 โ”‚
           โ””โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”˜
             โ”‚           โ”‚
             โ”‚           โ”‚
             โ–ผ           โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”
โ”‚ b8 โ”‚ โ—€โ”€โ”€ โ”‚ b13 โ”‚     โ”‚ b3 โ”‚ โ”€โ”€โ–ถ โ”‚ b5 โ”‚
โ””โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”˜
             โ”‚           โ”‚          โ”‚
             โ”‚           โ”‚          โ”‚
             โ–ผ           โ–ผ          โ”‚
           โ”Œโ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”       โ”‚
           โ”‚ b9  โ”‚     โ”‚ b6 โ”‚       โ”‚
           โ””โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”˜       โ”‚
                         โ”‚          โ”‚
                         โ”‚          โ”‚
                         โ–ผ          โ”‚
                       โ”Œโ”€โ”€โ”€โ”€โ”       โ”‚
                       โ”‚ b4 โ”‚ โ—€โ”€โ”€โ”€โ”€โ”€โ”˜
                       โ””โ”€โ”€โ”€โ”€โ”˜