带有类似HTML的节点的Graphviz,试图控制箭头形状

带有类似HTML的节点的Graphviz,试图控制箭头形状,graphviz,dot,Graphviz,Dot,我正在尝试创建haproxy重定向的表示,并链接到haproxy背后的服务 我有以下点代码: digraph structs { node [shape=plaintext] subgraph cluster_haproxy { label = "haproxy"; haproxy [label=< <TABLE BORDER="3" CELLBORDER="1" CELLSPACING="50">

我正在尝试创建haproxy重定向的表示,并链接到haproxy背后的服务

我有以下点代码:

digraph structs {
    node [shape=plaintext]

    subgraph cluster_haproxy {
        label = "haproxy";

        haproxy [label=<
            <TABLE BORDER="3" CELLBORDER="1" CELLSPACING="50">
                <TR>
                    <TD PORT="80">80</TD>
                    <TD PORT="443">443</TD>
                </TR>
            </TABLE>
        >];
    }

    subgraph cluster_service001 {
        label = "service001";

        service001 [label=<
            <TABLE BORDER="3" CELLBORDER="1" CELLSPACING="4">
                <TR>
                    <TD PORT="123456789">123456789</TD>
                </TR>
            </TABLE>
        >];
    }

    haproxy:80:e -> haproxy:443:w;
    haproxy:443 -> service001:123456789;
}

有向图结构{
节点[形状=纯文本]
子图簇{
label=“haproxy”;
haproxy[标签]=<
80
443
>];
}
子图簇{
label=“service001”;
服务001[标签=<
123456789
>];
}
haproxy:80:e->haproxy:443:w;
haproxy:443->service001:123456789;
}
这将导致此图像,显示端口80被重定向到端口443:

我希望实现的只是一个从80到443的直箭头,没有任何曲线

请注意,同一线路上可能有更多端口

我尝试添加
spline=line

我尝试使用基于记录的节点,给它们一个
rank=same
,使它们彼此相邻,但这给了我以下错误消息:

警告:相邻节点之间的平边,其中一个节点有记录 形状-用类似HTML的标签替换记录

我用
box
shape试过了,但那把项目从左到右的顺序弄错了


这里没什么点子了。任何关于如何正确执行类似操作的建议都将不胜感激。

GraphViz不会处理节点vell中的内部边缘

我建议您切换到两个级别的集群,如下所示:

digraph structs {
    node [shape=plaintext]

    subgraph cluster_haproxy {
        label = "haproxy";

        subgraph cluster_haproxy2 { 
            penwidth=3
            label=""
            node[shape=rect]
            {rank=same
            80
            443}
        }
    }

    subgraph cluster_service001 {
        label = "service001";

        subgraph cluster_service001 { 
            penwidth=3
            label=""
            123456789[shape=rect]
        }
    }

    80 -> 443
    443 -> 123456789
}