在VScode中使用graphviz创建总线拓扑
我对graphviz不熟悉。我想画一张这样的图表 然而,这就是我得到的。使用以下代码在VScode中使用graphviz创建总线拓扑,graph,graphviz,dot,Graph,Graphviz,Dot,我对graphviz不熟悉。我想画一张这样的图表 然而,这就是我得到的。使用以下代码 graph BUS_TOPOLOGY{ workstation1[shape=box pos = "100,50!"]; workstation2[shape=box]; workstation3[shape=box]; workstation4[shape=box]; workstation5[shape=box];
graph BUS_TOPOLOGY{
workstation1[shape=box pos = "100,50!"];
workstation2[shape=box];
workstation3[shape=box];
workstation4[shape=box];
workstation5[shape=box];
workstation6[shape=box];
bus[shape=rectangle width=15]
workstation1 -- bus --workstation4
workstation2 -- bus --workstation5
workstation3 -- bus --workstation6
}
你的请求突破了极限,但“可行”。当您希望垂直边将节点连接到总线时,dot没有这样的指令。我不知道VScode,但这里有一个(部分)的解决方案,是直接点。它使用html记录在总线上创建显式端口:
digraph structs {
node [shape=rectangle]
{
rank=same
ws1 ws2 ws3
}
node [shape=plaintext]
bus [label=<
<TABLE BORDER="1" CELLBORDER="0" CELLSPACING="0" >
<TR>
<TD WIDTH="46" HEIGHT="12" PORT="p1"></TD>
<TD WIDTH="46" HEIGHT="12" PORT="p2"></TD>
<TD WIDTH="46" HEIGHT="12" PORT="p3"></TD>
<TD WIDTH="46" HEIGHT="12" PORT="p4"></TD>
<TD WIDTH="46" HEIGHT="12" PORT="p5"></TD>
<TD WIDTH="46" HEIGHT="12" PORT="p6"></TD>
<TD WIDTH="46" HEIGHT="12" PORT="p7"></TD>
</TR>
</TABLE>>];
node [shape=rectangle]
{
rank=same
ws4 ws5 ws6
}
edge [dir=none]
ws1 -> bus:p1;
bus:p2 -> ws4
ws2 -> bus:p3;
bus:p4 -> ws5
ws3 -> bus:p5;
bus:p6 -> ws6
}
有向图结构{
节点[形状=矩形]
{
等级=相同
ws1 ws2 ws3
}
节点[形状=纯文本]
公共汽车[标签]=<
>];
节点[形状=矩形]
{
等级=相同
ws4 ws5 ws6
}
边缘[dir=none]
ws1->总线:p1;
总线:p2->ws4
ws2->总线:p3;
总线:p4->ws5
ws3->总线:p5;
总线:p6->ws6
}
结果: