【问题标题】:polylines edges when using ports graphviz使用端口graphviz时的折线边缘
【发布时间】:2015-09-19 21:20:42
【问题描述】:

我正在使用 Graphviz 创建一个带有类似 HTML 标签的节点的图形。我的点文件:

digraph 0 {
   center = true
   charset = "UTF-8"
   overlap = false
   splines = true
   landscape = false
   id = "0"
   label = "Graph Example"
   labelloc = "t"

node [shape = none width = 0 height = 0 margin = 0 fontcolor = blue ]

0 [ label = <
    <TABLE BORDER = "0" CELLBORDER = "1" CELLSPACING = "0" CELLPADDING = "5" ALIGN = "CENTER" BGCOLOR = "white" COLOR = "black" >
        <TR>
            <TD PORT = "0" >Node 0</TD>
        </TR>
        <TR>
            <TD CELLSPACING = "0" CELLPADDING = "0" >
                <TABLE BORDER = "0" CELLSPACING = "1" CELLBORDER = "0" CELLPADDING = "0" >
                <TR>
                    <TD PORT = "4">   </TD>
                    <TD PORT = "1">   </TD>
                    <TD PORT = "2">   </TD>
                    <TD PORT = "3">   </TD>
                    <TD PORT = "6">   </TD>
                </TR>
                </TABLE>
            </TD>
        </TR>
    </TABLE> > ]

4 [ label = <
    <TABLE BORDER = "0" CELLBORDER = "1" CELLSPACING = "0" CELLPADDING = "5" ALIGN = "CENTER" BGCOLOR = "white" COLOR = "black" >
        <TR>
            <TD PORT = "4" >Node 1</TD>
        </TR>
        <TR>
            <TD CELLSPACING = "0" CELLPADDING = "0" >
                <TABLE BORDER = "0" CELLSPACING = "1" CELLBORDER = "0" CELLPADDING = "0" >
                <TR>
                    <TD PORT = "6">   </TD>
                </TR>
                </TABLE>
            </TD>
        </TR>
    </TABLE> > ]

6 [ label = <
    <TABLE BORDER = "0" CELLBORDER = "1" CELLSPACING = "0" CELLPADDING = "5" ALIGN = "CENTER" BGCOLOR = "white" COLOR = "black" >
        <TR>
            <TD PORT = "6" >Node 6</TD>
        </TR>

    </TABLE> > ]

1 [ label = <
    <TABLE BORDER = "0" CELLBORDER = "1" CELLSPACING = "0" CELLPADDING = "5" ALIGN = "CENTER" BGCOLOR = "white" COLOR = "black" >
        <TR>
            <TD PORT = "1">Node 1</TD>
        </TR>
        <TR>
            <TD CELLSPACING = "0" CELLPADDING = "0" >
                <TABLE BORDER = "0" CELLSPACING = "1" CELLBORDER = "0" CELLPADDING = "0" >
                <TR>
                    <TD PORT = "4">   </TD>
                </TR>
                </TABLE>
            </TD>
        </TR>
    </TABLE> > ]

2 [ label = <
    <TABLE BORDER = "0" CELLBORDER = "1" CELLSPACING = "0" CELLPADDING = "5" ALIGN = "CENTER" BGCOLOR = "white" COLOR = "black" >
        <TR>
            <TD PORT = "2">Node 2</TD>
        </TR>
        <TR>
            <TD CELLSPACING = "0" CELLPADDING = "0" >                   
                <TABLE BORDER = "0" CELLSPACING = "1" CELLBORDER = "0" CELLPADDING = "0" >
                    <TR>
                        <TD PORT = "4">   </TD>
                        <TD PORT = "5">   </TD>
                    </TR>
                </TABLE>
            </TD>
        </TR>
    </TABLE> > ]

5 [ label = <
    <TABLE BORDER = "0" CELLBORDER = "1" CELLSPACING = "0" CELLPADDING = "5" ALIGN = "CENTER" BGCOLOR = "white" COLOR = "black" >
        <TR>
            <TD PORT = "5" >Node 5</TD>
        </TR>

    </TABLE> > ]

3 [ label = <
    <TABLE BORDER = "0" CELLBORDER = "1" CELLSPACING = "0" CELLPADDING = "5" ALIGN = "CENTER" BGCOLOR = "white" COLOR = "black" >
        <TR>
            <TD PORT = "3" >Node 3</TD>
        </TR>
        <TR>
            <TD CELLSPACING = "0" CELLPADDING = "0" >                   
                <TABLE BORDER = "0" CELLSPACING = "1" CELLBORDER = "0" CELLPADDING = "0" >
                    <TR>
                        <TD PORT = "5">   </TD>
                    </TR>
                </TABLE>                        
            </TD>
        </TR>
    </TABLE> > ]

1:4:s -> 4:4:n
2:4:s -> 4:4:n
2:5:s -> 5:5:n
0:1:s -> 1:1:n
0:2:s -> 2:2:n
0:3:s -> 3:3:n
0:6:s -> 6:6:n

4:6:s -> 6:6:n
3:5:s -> 5:5:n
0:4:s -> 4:4:n

edge [color = red constraint = false ]

1:1 -> 4:4
1:1 -> 3:3

}

我正在使用端口来定义节点上我想与其他节点连接的位置。附上dot生成的图片。

我希望将边缘绘制为折线而不是曲线。我试图修改图形的 splines 属性,但它不起作用,实际上从 graphviz 文档中我发现了这一点:“值 ortho 指定边缘应路由为轴对齐段的折线。目前,路由不处理端口或以点表示的边缘标签。”

您能否帮助找到使用端口的折线(或更好看的边缘)的解决方案?

谢谢。

【问题讨论】:

  • 使用样条线 = 正交对我有用(点 - graphviz 版本 2.38.0 (20140413.2041)

标签: graphviz dot splines


【解决方案1】:

只需改变:

splines = true

splines = polyline

帮我搞定了

result

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-24
    • 1970-01-01
    • 2012-04-27
    • 1970-01-01
    • 2016-05-02
    • 2013-05-12
    • 2011-01-20
    相关资源
    最近更新 更多