Skip to content

Instantly share code, notes, and snippets.

@hslabbert
Created February 23, 2018 17:56
Show Gist options
  • Save hslabbert/d19a4b4a0c4403d1b18bf6c8cd1a4d53 to your computer and use it in GitHub Desktop.
Save hslabbert/d19a4b4a0c4403d1b18bf6c8cd1a4d53 to your computer and use it in GitHub Desktop.
GraphViz record shape demo
graph "Record Shape demo" {
graph [ranksep=3.84 splines=line]
node [shape=record]
leaf1 [label="{{ <Port31> Port31 | <Port32> Port32 | <Port33> Port33 | <Port34> Port34 | <Port35> Port35 | <Port36> Port36 } | leaf1 | { <Port19> Port19 | <Port20> Port20 }}"]
leaf2 [label="{{ <Port31> Port31 | <Port32> Port32 | <Port33> Port33 | <Port34> Port34 | <Port35> Port35 | <Port36> Port36 } | leaf2 | { <Port19> Port19 | <Port20> Port20 }}"]
spine1 [label="{{ <Port19> Port19 | <Port20> Port20 | <Port21> Port21 | <Port22> Port22 | <Port23> Port23 | <Port24> Port24 | <Port25> Port25 | <Port26> Port26 | <Port27> Port27 | <Port28> Port28 | <Port29> Port29 | <Port30> Port30 | <Port31> Port31 | <Port32> Port32 | <Port33> Port33 | <Port34> Port34 | <Port35> Port35 | <Port36> Port36 } | spine1 | { <Port1> Port1 | <Port2> Port2 | <Port3> Port3 | <Port4> Port4 | <Port5> Port5 | <Port6> Port6 | <Port7> Port7 | <Port8> Port8 | <Port9> Port9 | <Port10> Port10 | <Port11> Port11 | <Port12> Port12 | <Port13> Port13 | <Port14> Port14 | <Port15> Port15 | <Port16> Port16 | <Port17> Port17 | <Port18> Port18 }}"]
spine2 [label="{{ <Port19> Port19 | <Port20> Port20 | <Port21> Port21 | <Port22> Port22 | <Port23> Port23 | <Port24> Port24 | <Port25> Port25 | <Port26> Port26 | <Port27> Port27 | <Port28> Port28 | <Port29> Port29 | <Port30> Port30 | <Port31> Port31 | <Port32> Port32 | <Port33> Port33 | <Port34> Port34 | <Port35> Port35 | <Port36> Port36 } | spine2 | { <Port1> Port1 | <Port2> Port2 | <Port3> Port3 | <Port4> Port4 | <Port5> Port5 | <Port6> Port6 | <Port7> Port7 | <Port8> Port8 | <Port9> Port9 | <Port10> Port10 | <Port11> Port11 | <Port12> Port12 | <Port13> Port13 | <Port14> Port14 | <Port15> Port15 | <Port16> Port16 | <Port17> Port17 | <Port18> Port18 }}"]
spine1:Port1:s -- leaf1:Port36:n
spine2:Port1:s -- leaf1:Port35:n
spine1:Port2:s -- leaf2:Port36:n
spine2:Port2:s -- leaf2:Port35:n
}
Display the source blob
Display the rendered blob
Raw
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: Record Shape demo Pages: 1 -->
<svg width="1934pt" height="424pt"
viewBox="0.00 0.00 1934.00 424.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 420)">
<title>Record Shape demo</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-420 1930,-420 1930,4 -4,4"/>
<!-- leaf1 -->
<g id="node1" class="node"><title>leaf1</title>
<polygon fill="none" stroke="black" points="101,-0.5 101,-69.5 419,-69.5 419,-0.5 101,-0.5"/>
<text text-anchor="middle" x="127.5" y="-54.3" font-family="Times,serif" font-size="14.00">Port31</text>
<polyline fill="none" stroke="black" points="154,-46.5 154,-69.5 "/>
<text text-anchor="middle" x="180.5" y="-54.3" font-family="Times,serif" font-size="14.00">Port32</text>
<polyline fill="none" stroke="black" points="207,-46.5 207,-69.5 "/>
<text text-anchor="middle" x="233.5" y="-54.3" font-family="Times,serif" font-size="14.00">Port33</text>
<polyline fill="none" stroke="black" points="260,-46.5 260,-69.5 "/>
<text text-anchor="middle" x="286.5" y="-54.3" font-family="Times,serif" font-size="14.00">Port34</text>
<polyline fill="none" stroke="black" points="313,-46.5 313,-69.5 "/>
<text text-anchor="middle" x="339.5" y="-54.3" font-family="Times,serif" font-size="14.00">Port35</text>
<polyline fill="none" stroke="black" points="366,-46.5 366,-69.5 "/>
<text text-anchor="middle" x="392.5" y="-54.3" font-family="Times,serif" font-size="14.00">Port36</text>
<polyline fill="none" stroke="black" points="101,-46.5 419,-46.5 "/>
<text text-anchor="middle" x="260" y="-31.3" font-family="Times,serif" font-size="14.00">leaf1</text>
<polyline fill="none" stroke="black" points="101,-23.5 419,-23.5 "/>
<text text-anchor="middle" x="180.5" y="-8.3" font-family="Times,serif" font-size="14.00">Port19</text>
<polyline fill="none" stroke="black" points="260,-0.5 260,-23.5 "/>
<text text-anchor="middle" x="339.5" y="-8.3" font-family="Times,serif" font-size="14.00">Port20</text>
</g>
<!-- leaf2 -->
<g id="node2" class="node"><title>leaf2</title>
<polygon fill="none" stroke="black" points="595,-0.5 595,-69.5 913,-69.5 913,-0.5 595,-0.5"/>
<text text-anchor="middle" x="621.5" y="-54.3" font-family="Times,serif" font-size="14.00">Port31</text>
<polyline fill="none" stroke="black" points="648,-46.5 648,-69.5 "/>
<text text-anchor="middle" x="674.5" y="-54.3" font-family="Times,serif" font-size="14.00">Port32</text>
<polyline fill="none" stroke="black" points="701,-46.5 701,-69.5 "/>
<text text-anchor="middle" x="727.5" y="-54.3" font-family="Times,serif" font-size="14.00">Port33</text>
<polyline fill="none" stroke="black" points="754,-46.5 754,-69.5 "/>
<text text-anchor="middle" x="780.5" y="-54.3" font-family="Times,serif" font-size="14.00">Port34</text>
<polyline fill="none" stroke="black" points="807,-46.5 807,-69.5 "/>
<text text-anchor="middle" x="833.5" y="-54.3" font-family="Times,serif" font-size="14.00">Port35</text>
<polyline fill="none" stroke="black" points="860,-46.5 860,-69.5 "/>
<text text-anchor="middle" x="886.5" y="-54.3" font-family="Times,serif" font-size="14.00">Port36</text>
<polyline fill="none" stroke="black" points="595,-46.5 913,-46.5 "/>
<text text-anchor="middle" x="754" y="-31.3" font-family="Times,serif" font-size="14.00">leaf2</text>
<polyline fill="none" stroke="black" points="595,-23.5 913,-23.5 "/>
<text text-anchor="middle" x="674.5" y="-8.3" font-family="Times,serif" font-size="14.00">Port19</text>
<polyline fill="none" stroke="black" points="754,-0.5 754,-23.5 "/>
<text text-anchor="middle" x="833.5" y="-8.3" font-family="Times,serif" font-size="14.00">Port20</text>
</g>
<!-- spine1 -->
<g id="node3" class="node"><title>spine1</title>
<polygon fill="none" stroke="black" points="972,-346.5 972,-415.5 1926,-415.5 1926,-346.5 972,-346.5"/>
<text text-anchor="middle" x="998.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port19</text>
<polyline fill="none" stroke="black" points="1025,-392.5 1025,-415.5 "/>
<text text-anchor="middle" x="1051.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port20</text>
<polyline fill="none" stroke="black" points="1078,-392.5 1078,-415.5 "/>
<text text-anchor="middle" x="1104.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port21</text>
<polyline fill="none" stroke="black" points="1131,-392.5 1131,-415.5 "/>
<text text-anchor="middle" x="1157.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port22</text>
<polyline fill="none" stroke="black" points="1184,-392.5 1184,-415.5 "/>
<text text-anchor="middle" x="1210.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port23</text>
<polyline fill="none" stroke="black" points="1237,-392.5 1237,-415.5 "/>
<text text-anchor="middle" x="1263.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port24</text>
<polyline fill="none" stroke="black" points="1290,-392.5 1290,-415.5 "/>
<text text-anchor="middle" x="1316.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port25</text>
<polyline fill="none" stroke="black" points="1343,-392.5 1343,-415.5 "/>
<text text-anchor="middle" x="1369.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port26</text>
<polyline fill="none" stroke="black" points="1396,-392.5 1396,-415.5 "/>
<text text-anchor="middle" x="1422.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port27</text>
<polyline fill="none" stroke="black" points="1449,-392.5 1449,-415.5 "/>
<text text-anchor="middle" x="1475.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port28</text>
<polyline fill="none" stroke="black" points="1502,-392.5 1502,-415.5 "/>
<text text-anchor="middle" x="1528.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port29</text>
<polyline fill="none" stroke="black" points="1555,-392.5 1555,-415.5 "/>
<text text-anchor="middle" x="1581.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port30</text>
<polyline fill="none" stroke="black" points="1608,-392.5 1608,-415.5 "/>
<text text-anchor="middle" x="1634.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port31</text>
<polyline fill="none" stroke="black" points="1661,-392.5 1661,-415.5 "/>
<text text-anchor="middle" x="1687.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port32</text>
<polyline fill="none" stroke="black" points="1714,-392.5 1714,-415.5 "/>
<text text-anchor="middle" x="1740.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port33</text>
<polyline fill="none" stroke="black" points="1767,-392.5 1767,-415.5 "/>
<text text-anchor="middle" x="1793.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port34</text>
<polyline fill="none" stroke="black" points="1820,-392.5 1820,-415.5 "/>
<text text-anchor="middle" x="1846.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port35</text>
<polyline fill="none" stroke="black" points="1873,-392.5 1873,-415.5 "/>
<text text-anchor="middle" x="1899.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port36</text>
<polyline fill="none" stroke="black" points="972,-392.5 1926,-392.5 "/>
<text text-anchor="middle" x="1449" y="-377.3" font-family="Times,serif" font-size="14.00">spine1</text>
<polyline fill="none" stroke="black" points="972,-369.5 1926,-369.5 "/>
<text text-anchor="middle" x="996.5" y="-354.3" font-family="Times,serif" font-size="14.00">Port1</text>
<polyline fill="none" stroke="black" points="1021,-346.5 1021,-369.5 "/>
<text text-anchor="middle" x="1046" y="-354.3" font-family="Times,serif" font-size="14.00">Port2</text>
<polyline fill="none" stroke="black" points="1071,-346.5 1071,-369.5 "/>
<text text-anchor="middle" x="1095.5" y="-354.3" font-family="Times,serif" font-size="14.00">Port3</text>
<polyline fill="none" stroke="black" points="1120,-346.5 1120,-369.5 "/>
<text text-anchor="middle" x="1145" y="-354.3" font-family="Times,serif" font-size="14.00">Port4</text>
<polyline fill="none" stroke="black" points="1170,-346.5 1170,-369.5 "/>
<text text-anchor="middle" x="1194.5" y="-354.3" font-family="Times,serif" font-size="14.00">Port5</text>
<polyline fill="none" stroke="black" points="1219,-346.5 1219,-369.5 "/>
<text text-anchor="middle" x="1244" y="-354.3" font-family="Times,serif" font-size="14.00">Port6</text>
<polyline fill="none" stroke="black" points="1269,-346.5 1269,-369.5 "/>
<text text-anchor="middle" x="1293.5" y="-354.3" font-family="Times,serif" font-size="14.00">Port7</text>
<polyline fill="none" stroke="black" points="1318,-346.5 1318,-369.5 "/>
<text text-anchor="middle" x="1343" y="-354.3" font-family="Times,serif" font-size="14.00">Port8</text>
<polyline fill="none" stroke="black" points="1368,-346.5 1368,-369.5 "/>
<text text-anchor="middle" x="1392.5" y="-354.3" font-family="Times,serif" font-size="14.00">Port9</text>
<polyline fill="none" stroke="black" points="1417,-346.5 1417,-369.5 "/>
<text text-anchor="middle" x="1445.5" y="-354.3" font-family="Times,serif" font-size="14.00">Port10</text>
<polyline fill="none" stroke="black" points="1474,-346.5 1474,-369.5 "/>
<text text-anchor="middle" x="1502" y="-354.3" font-family="Times,serif" font-size="14.00">Port11</text>
<polyline fill="none" stroke="black" points="1530,-346.5 1530,-369.5 "/>
<text text-anchor="middle" x="1558.5" y="-354.3" font-family="Times,serif" font-size="14.00">Port12</text>
<polyline fill="none" stroke="black" points="1587,-346.5 1587,-369.5 "/>
<text text-anchor="middle" x="1615" y="-354.3" font-family="Times,serif" font-size="14.00">Port13</text>
<polyline fill="none" stroke="black" points="1643,-346.5 1643,-369.5 "/>
<text text-anchor="middle" x="1671.5" y="-354.3" font-family="Times,serif" font-size="14.00">Port14</text>
<polyline fill="none" stroke="black" points="1700,-346.5 1700,-369.5 "/>
<text text-anchor="middle" x="1728" y="-354.3" font-family="Times,serif" font-size="14.00">Port15</text>
<polyline fill="none" stroke="black" points="1756,-346.5 1756,-369.5 "/>
<text text-anchor="middle" x="1784.5" y="-354.3" font-family="Times,serif" font-size="14.00">Port16</text>
<polyline fill="none" stroke="black" points="1813,-346.5 1813,-369.5 "/>
<text text-anchor="middle" x="1841" y="-354.3" font-family="Times,serif" font-size="14.00">Port17</text>
<polyline fill="none" stroke="black" points="1869,-346.5 1869,-369.5 "/>
<text text-anchor="middle" x="1897.5" y="-354.3" font-family="Times,serif" font-size="14.00">Port18</text>
</g>
<!-- spine1&#45;&#45;leaf1 -->
<g id="edge1" class="edge"><title>spine1:Port1:s&#45;&#45;leaf1:Port36:n</title>
<path fill="none" stroke="black" d="M996,-346C996,-346 393,-70 393,-70"/>
</g>
<!-- spine1&#45;&#45;leaf2 -->
<g id="edge3" class="edge"><title>spine1:Port2:s&#45;&#45;leaf2:Port36:n</title>
<path fill="none" stroke="black" d="M1046,-346C1046,-346 887,-70 887,-70"/>
</g>
<!-- spine2 -->
<g id="node4" class="node"><title>spine2</title>
<polygon fill="none" stroke="black" points="0,-346.5 0,-415.5 954,-415.5 954,-346.5 0,-346.5"/>
<text text-anchor="middle" x="26.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port19</text>
<polyline fill="none" stroke="black" points="53,-392.5 53,-415.5 "/>
<text text-anchor="middle" x="79.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port20</text>
<polyline fill="none" stroke="black" points="106,-392.5 106,-415.5 "/>
<text text-anchor="middle" x="132.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port21</text>
<polyline fill="none" stroke="black" points="159,-392.5 159,-415.5 "/>
<text text-anchor="middle" x="185.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port22</text>
<polyline fill="none" stroke="black" points="212,-392.5 212,-415.5 "/>
<text text-anchor="middle" x="238.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port23</text>
<polyline fill="none" stroke="black" points="265,-392.5 265,-415.5 "/>
<text text-anchor="middle" x="291.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port24</text>
<polyline fill="none" stroke="black" points="318,-392.5 318,-415.5 "/>
<text text-anchor="middle" x="344.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port25</text>
<polyline fill="none" stroke="black" points="371,-392.5 371,-415.5 "/>
<text text-anchor="middle" x="397.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port26</text>
<polyline fill="none" stroke="black" points="424,-392.5 424,-415.5 "/>
<text text-anchor="middle" x="450.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port27</text>
<polyline fill="none" stroke="black" points="477,-392.5 477,-415.5 "/>
<text text-anchor="middle" x="503.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port28</text>
<polyline fill="none" stroke="black" points="530,-392.5 530,-415.5 "/>
<text text-anchor="middle" x="556.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port29</text>
<polyline fill="none" stroke="black" points="583,-392.5 583,-415.5 "/>
<text text-anchor="middle" x="609.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port30</text>
<polyline fill="none" stroke="black" points="636,-392.5 636,-415.5 "/>
<text text-anchor="middle" x="662.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port31</text>
<polyline fill="none" stroke="black" points="689,-392.5 689,-415.5 "/>
<text text-anchor="middle" x="715.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port32</text>
<polyline fill="none" stroke="black" points="742,-392.5 742,-415.5 "/>
<text text-anchor="middle" x="768.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port33</text>
<polyline fill="none" stroke="black" points="795,-392.5 795,-415.5 "/>
<text text-anchor="middle" x="821.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port34</text>
<polyline fill="none" stroke="black" points="848,-392.5 848,-415.5 "/>
<text text-anchor="middle" x="874.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port35</text>
<polyline fill="none" stroke="black" points="901,-392.5 901,-415.5 "/>
<text text-anchor="middle" x="927.5" y="-400.3" font-family="Times,serif" font-size="14.00">Port36</text>
<polyline fill="none" stroke="black" points="0,-392.5 954,-392.5 "/>
<text text-anchor="middle" x="477" y="-377.3" font-family="Times,serif" font-size="14.00">spine2</text>
<polyline fill="none" stroke="black" points="0,-369.5 954,-369.5 "/>
<text text-anchor="middle" x="24.5" y="-354.3" font-family="Times,serif" font-size="14.00">Port1</text>
<polyline fill="none" stroke="black" points="49,-346.5 49,-369.5 "/>
<text text-anchor="middle" x="74" y="-354.3" font-family="Times,serif" font-size="14.00">Port2</text>
<polyline fill="none" stroke="black" points="99,-346.5 99,-369.5 "/>
<text text-anchor="middle" x="123.5" y="-354.3" font-family="Times,serif" font-size="14.00">Port3</text>
<polyline fill="none" stroke="black" points="148,-346.5 148,-369.5 "/>
<text text-anchor="middle" x="173" y="-354.3" font-family="Times,serif" font-size="14.00">Port4</text>
<polyline fill="none" stroke="black" points="198,-346.5 198,-369.5 "/>
<text text-anchor="middle" x="222.5" y="-354.3" font-family="Times,serif" font-size="14.00">Port5</text>
<polyline fill="none" stroke="black" points="247,-346.5 247,-369.5 "/>
<text text-anchor="middle" x="272" y="-354.3" font-family="Times,serif" font-size="14.00">Port6</text>
<polyline fill="none" stroke="black" points="297,-346.5 297,-369.5 "/>
<text text-anchor="middle" x="321.5" y="-354.3" font-family="Times,serif" font-size="14.00">Port7</text>
<polyline fill="none" stroke="black" points="346,-346.5 346,-369.5 "/>
<text text-anchor="middle" x="371" y="-354.3" font-family="Times,serif" font-size="14.00">Port8</text>
<polyline fill="none" stroke="black" points="396,-346.5 396,-369.5 "/>
<text text-anchor="middle" x="420.5" y="-354.3" font-family="Times,serif" font-size="14.00">Port9</text>
<polyline fill="none" stroke="black" points="445,-346.5 445,-369.5 "/>
<text text-anchor="middle" x="473.5" y="-354.3" font-family="Times,serif" font-size="14.00">Port10</text>
<polyline fill="none" stroke="black" points="502,-346.5 502,-369.5 "/>
<text text-anchor="middle" x="530" y="-354.3" font-family="Times,serif" font-size="14.00">Port11</text>
<polyline fill="none" stroke="black" points="558,-346.5 558,-369.5 "/>
<text text-anchor="middle" x="586.5" y="-354.3" font-family="Times,serif" font-size="14.00">Port12</text>
<polyline fill="none" stroke="black" points="615,-346.5 615,-369.5 "/>
<text text-anchor="middle" x="643" y="-354.3" font-family="Times,serif" font-size="14.00">Port13</text>
<polyline fill="none" stroke="black" points="671,-346.5 671,-369.5 "/>
<text text-anchor="middle" x="699.5" y="-354.3" font-family="Times,serif" font-size="14.00">Port14</text>
<polyline fill="none" stroke="black" points="728,-346.5 728,-369.5 "/>
<text text-anchor="middle" x="756" y="-354.3" font-family="Times,serif" font-size="14.00">Port15</text>
<polyline fill="none" stroke="black" points="784,-346.5 784,-369.5 "/>
<text text-anchor="middle" x="812.5" y="-354.3" font-family="Times,serif" font-size="14.00">Port16</text>
<polyline fill="none" stroke="black" points="841,-346.5 841,-369.5 "/>
<text text-anchor="middle" x="869" y="-354.3" font-family="Times,serif" font-size="14.00">Port17</text>
<polyline fill="none" stroke="black" points="897,-346.5 897,-369.5 "/>
<text text-anchor="middle" x="925.5" y="-354.3" font-family="Times,serif" font-size="14.00">Port18</text>
</g>
<!-- spine2&#45;&#45;leaf1 -->
<g id="edge2" class="edge"><title>spine2:Port1:s&#45;&#45;leaf1:Port35:n</title>
<path fill="none" stroke="black" d="M24,-346C24,-346 340,-70 340,-70"/>
</g>
<!-- spine2&#45;&#45;leaf2 -->
<g id="edge4" class="edge"><title>spine2:Port2:s&#45;&#45;leaf2:Port35:n</title>
<path fill="none" stroke="black" d="M74,-346C74,-346 834,-70 834,-70"/>
</g>
</g>
</svg>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment