Графвиз: Как создать перекрывающийся подузел на другом? - PullRequest
0 голосов
/ 17 февраля 2019

Я хочу создать подузел, как указано выше, который перекрывает другую половину внутри и снаружи.enter image description here

digraph G {
node [fontsize=8  margin=".1,.01" width=.5 height=.5 shape=box]
edge [fontsize=8]
rankdir=LR;
ranksep = .25;
nodesep= .5;
{
    subgraph cluster0 {
        label = "VMWare";
        {
            subgraph cluster3{
                style = dashed;
                color=red;
                label = "ESX";
                VM1 
                [
                    shape = rectangle
                    label = "Virtual Machine 1"
                ]
                VPN_NIC [shape = rectangle label="Physical NIC\nPromiscuous mode ON" style=rounded]
                VM1 -> VPN_NIC [style=dotted];
            }
        }
        edge [dir=none]
        INT_NET [label = "Internal Network"];
        VPN_NIC -> INT_NET;
    }
}

}

enter image description here

Я хотел бы сделать компонент с именем Physical NICкак перекрывается на границе ESXi.Возможно, такого рода требования возникнут при отображении схемы сети, особенно мостов, соединяющихся как с внутренней, так и с внешней сетью.

1 Ответ

0 голосов
/ 24 мая 2019

Вы можете приблизиться к метке HTML, однако вам придется объединить перекрывающиеся узлы в один узел, например:

digraph name {
rankdir=LR

X[shape=none margin=0 label=<
<table cellspacing="0" cellborder="1" border="0">
<tr><td sides="LT"></td><td sides="TR"></td><td sides="L"></td></tr>
<tr><td sides="L">Some text</td><td colspan="2" style="rounded" port="a">Line 1<br/>Line 2</td></tr>
<tr><td sides="LB"></td><td sides="BR"></td><td sides="L"></td></tr>
</table>
>]

X:a:e->Y
}

Отображается на viz-js.com:

enter image description here

...