graphviz 箭头、节点、表格 - 我正在寻找避免双箭头的解决方案?

问题描述 投票:0回答:1

我生成了 graphviz 的代码。该网络规划始终包含 2 个用于往返方向的箭头。不幸的是,示例中显示了 2 个单独的箭头 - 但我不希望这样......

(https://i.stack.imgur.com/SUk9h.jpg)

有人知道如何避免红色双箭头吗?是否还需要考虑其他选择?

digraph {

node [shape=box, style=filled, fillcolor=white, color=grey, margin=0];

graph [bgcolor=floralwhite];

edge[arrowhead="normal", color="darkblue", arrowsize=1];

rankdir=LR;
concentrate=true;


AAA [label=<
        <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="2" color="black">
        <TR><TD><B>10.182.2.1</B></TD></TR>
        <TR><TD>AAA</TD></TR>
        <TR><TD>Switch1</TD></TR>
        <TR><TD PORT="111">1/1/1</TD></TR>
        <TR><TD PORT="121">1/2/1</TD></TR>
        <TR><TD PORT="161">1/6/1</TD></TR>
        </TABLE>
    >];


BBB [label=<
        <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="2" color="black">
        <TR><TD><B>10.182.2.2</B></TD></TR>
        <TR><TD>BBB</TD></TR>
        <TR><TD>Switch2</TD></TR>
        <TR><TD PORT="141">1/4/1</TD></TR>
        <TR><TD PORT="151">1/5/1</TD></TR>
        </TABLE>
    >];

CCC [label=<
        <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="2" color="black">
        <TR><TD><B>10.182.2.3</B></TD></TR> 
        <TR><TD>CCC</TD></TR> 
        <TR><TD>Switch3</TD></TR> 
        <TR><TD PORT="111">1/1/1</TD></TR>
        <TR><TD PORT="161">1/6/1</TD></TR>
        </TABLE>
    >];


DDD [label=<
        <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="2" color="black">
        <TR><TD><B>10.182.2.4</B></TD></TR>
        <TR><TD>DDD</TD></TR>
        <TR><TD>Switch4</TD></TR>
        <TR><TD PORT="141">1/4/1</TD></TR>
        <TR><TD PORT="151">1/5/1</TD></TR>
        </TABLE>
    >];


EEE [label=<
        <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="2" color="black">
        <TR><TD><B>10.182.2.5</B></TD></TR>
        <TR><TD>EEE</TD></TR>
        <TR><TD>Switch5</TD></TR>
        <TR><TD PORT="111">1/1/1</TD></TR>
        <TR><TD PORT="121">1/2/1</TD></TR>
        <TR><TD PORT="161">1/6/1</TD></TR>
        </TABLE>
    >];


BBB:141 -> CCC:161
BBB:151 -> AAA:121

AAA:111 -> EEE:161
AAA:121 -> BBB:151
AAA:161 -> DDD:141

CCC:111 -> DDD:151
CCC:161 -> BBB:141

DDD:141 -> AAA:161
DDD:151 -> CCC:111

EEE:161 -> AAA:111


}
graphviz arrow-functions
1个回答
0
投票

删除其中一条边并添加 dir=both 作为另一条边的属性。

digraph {

node [shape=box, style=filled, fillcolor=white, color=grey, margin=0];

graph [bgcolor=floralwhite];

edge[arrowhead="normal", color="darkblue", arrowsize=1];

rankdir=LR;
concentrate=true;


AAA [label=<
        <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="2" color="black">
        <TR><TD><B>10.182.2.1</B></TD></TR>
        <TR><TD>AAA</TD></TR>
        <TR><TD>Switch1</TD></TR>
        <TR><TD PORT="111">1/1/1</TD></TR>
        <TR><TD PORT="121">1/2/1</TD></TR>
        <TR><TD PORT="161">1/6/1</TD></TR>
        </TABLE>
    >];


BBB [label=<
        <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="2" color="black">
        <TR><TD><B>10.182.2.2</B></TD></TR>
        <TR><TD>BBB</TD></TR>
        <TR><TD>Switch2</TD></TR>
        <TR><TD PORT="141">1/4/1</TD></TR>
        <TR><TD PORT="151">1/5/1</TD></TR>
        </TABLE>
    >];

CCC [label=<
        <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="2" color="black">
        <TR><TD><B>10.182.2.3</B></TD></TR> 
        <TR><TD>CCC</TD></TR> 
        <TR><TD>Switch3</TD></TR> 
        <TR><TD PORT="111">1/1/1</TD></TR>
        <TR><TD PORT="161">1/6/1</TD></TR>
        </TABLE>
    >];


DDD [label=<
        <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="2" color="black">
        <TR><TD><B>10.182.2.4</B></TD></TR>
        <TR><TD>DDD</TD></TR>
        <TR><TD>Switch4</TD></TR>
        <TR><TD PORT="141">1/4/1</TD></TR>
        <TR><TD PORT="151">1/5/1</TD></TR>
        </TABLE>
    >];


EEE [label=<
        <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="2" color="black">
        <TR><TD><B>10.182.2.5</B></TD></TR>
        <TR><TD>EEE</TD></TR>
        <TR><TD>Switch5</TD></TR>
        <TR><TD PORT="111">1/1/1</TD></TR>
        <TR><TD PORT="121">1/2/1</TD></TR>
        <TR><TD PORT="161">1/6/1</TD></TR>
        </TABLE>
    >];


BBB:141 -> CCC:161
BBB:151 -> AAA:121

AAA:111 -> EEE:161
AAA:121 -> BBB:151
AAA:161 -> DDD:141  [dir=both]  // double-headed

CCC:111 -> DDD:151
CCC:161 -> BBB:141

//DDD:141 -> AAA:161  // do not draw
DDD:151 -> CCC:111

EEE:161 -> AAA:111
}

给予:

© www.soinside.com 2019 - 2024. All rights reserved.