gpt4 book ai didi

python - Graphviz 重叠边缘标签

转载 作者:行者123 更新时间:2023-11-30 22:42:54 32 4
gpt4 key购买 nike

我正在处理a Python script它会发现网络中的所有思科设备,现在我希望添加一个为用户创建图表的选项。

我正在使用 graphviz Python 模块,并且仍在处理代码,但这就是它此时生成的内容:

graph {
graph [nodesep=1.5 ranksep=1]
edge [fontsize=10 weight=0.5]
"R3.lab"
"R3.lab" -- "R1.lab" [headlabel="Fa0/1" taillabel="Fa0/1"]
"R2.lab"
"R2.lab" -- "R1.lab" [headlabel="Fa3/0" taillabel="Fa3/0"]
"R2.lab"
"R2.lab" -- "R1.lab" [headlabel="Fa1/0" taillabel="Fa0/1"]
"R4.lab"
"R4.lab" -- "R1.lab" [headlabel="Fa4/0" taillabel="Fa4/0"]
"R2.lab"
"R2.lab" -- "R3.lab" [headlabel="Fa0/0" taillabel="Fa0/0"]
"R5.lab"
"R5.lab" -- "R3.lab" [headlabel="Fa4/0" taillabel="Fa3/0"]
"R4.lab"
"R4.lab" -- "R3.lab" [headlabel="Fa1/0" taillabel="Fa0/0"]
"R4.lab"
"R4.lab" -- "R2.lab" [headlabel="Fa1/0" taillabel="Fa1/0"]
"R4.lab"
"R4.lab" -- "R5.lab" [headlabel="Fa0/1" taillabel="Fa0/1"]
}

问题是某些节点的边标签(例如 R4)彼此重叠,很难看出哪个标签适用于哪条边。这引出了我的问题,如何确保不会发生这种重叠?

该解决方案需要是动态的(而不是仅在此图中修复它),以便它也适用于其他网络。

如有任何建议,我们将不胜感激。谢谢。

最佳答案

您可以尝试在节点中使用边距,使它们更大。边缘的空标签也有助于创造更多空间。

试试这个图表:

graph {    graph [bgcolor="#333333" fontcolor=white fontsize=16 label="Network Map" rankdir=BT]    node [color="#006699" fillcolor="#006699" fontcolor=white fontname=Helvetica margin=0.4 shape=box style=filled]    edge [arrowhead=open color=green fontcolor=white fontname=Courier fontsize=14 style=dashed]        R4        R5        R1        R2        R3            R2 -- R3 [label="            " headlabel="Fa0/0" taillabel="Fa0/0"]            R4 -- R2 [label="            " headlabel="Fa1/0" taillabel="Fa1/0"]            R2 -- R1 [label="            " headlabel="Fa3/0" taillabel="Fa3/0"]            R4 -- R1 [label="            " headlabel="Fa4/0" taillabel="Fa4/0"]            R4 -- R5 [label="            " headlabel="Fa0/1" taillabel="Fa0/1"]            R3 -- R1 [label="            " headlabel="Fa0/1" taillabel="Fa0/1"]            R2 -- R1 [label="            " headlabel="Fa0/1" taillabel="Fa1/0"]            R5 -- R3 [label="            " headlabel="Fa3/0" taillabel="Fa4/0"]}

你可以在gist中看到完整的代码:https://gist.github.com/natenka/4d991cacc69e7353c84504c1581a5014

关于python - Graphviz 重叠边缘标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41969473/

32 4 0