Graphviz重叠边缘标签

2024-09-30 04:29:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在研究a Python script,它可以发现网络中的所有Cisco设备,现在正在寻找添加一个选项,为用户创建一个图表。在

我使用的是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)彼此重叠,很难看出哪个标签适用于哪个边缘。这就引出了一个问题,如何确保不发生这种重叠?在

解决方案需要是动态的(而不是只在这个图中固定它),以便它也能在其他网络上工作。在

如有任何建议,将不胜感激。谢谢您。在


Tags: 网络lab边缘graphr2r3r5r1
1条回答
网友
1楼 · 发布于 2024-09-30 04:29:15

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

试试这个图表:

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

相关问题 更多 >

    热门问题