graphviz-如何在直箭头上创建标签

graphviz-如何在直箭头上创建标签,graphviz,Graphviz,也许我想让graphviz弯曲得太厉害了,但会吗 可以把箭头拉直吗?我需要标签位于箭头上方,而不是标签/xlabel的侧面;我使用框来保存本质上是标签文本的内容,因为在边缘使用标签似乎会导致标签过长时的异常行为 digraph G { node [shape=rect style=filled fontcolor=white fontsize=12 fontname="Helvetica Bold"] edge [style=solid color="#7777

也许我想让graphviz弯曲得太厉害了,但会吗 可以把箭头拉直吗?我需要标签位于箭头上方,而不是标签/xlabel的侧面;我使用框来保存本质上是标签文本的内容,因为在边缘使用标签似乎会导致标签过长时的异常行为

digraph G {
    node [shape=rect style=filled
         fontcolor=white fontsize=12 fontname="Helvetica Bold"]
    edge [style=solid color="#777777"]

    // introduce nodes; set fill
    a1, a2, a3 [fillcolor="#438dd5"]
    c1         [fillcolor="#08427b"]

    b1, b2, b3 [fillcolor=white fontcolor=black fontname="Helvetica" shape=plain]

    a1 -> b1[dir=none]
    a2 -> b2[dir=none]
    a3 -> b3[dir=none]

    b1 -> c1
    b2 -> c1
    b3 -> c1

    { rankdir=LR  rank=same  a1 a2 a3  }
    { rankdir=LR  rank=same  b1 b2 b3 }
    { rankdir=LR  rank=same  c1 }
}
我得到的是:

我想要的是:

我通常使用无边框和白色背景来代替标签。您可能还需要使用或,因为在这种情况下,您可以使用和精确控制其位置:

有向图G{
节点[形状=矩形样式=填充
fontcolor=white fontsize=12 fontname=“Helvetica Bold”]
图[ranksep=1]
边缘[样式=纯色=“#777777”]
a1[fillcolor=“#438dd5”]
a2[fillcolor=“#438dd5”]
a3[fillcolor=“#438dd5”]
c1[fillcolor=“#08427b”]
a1->c1[
labeldistance=5
labelangle=0
海岬=<
b1
>
]
a2->c1[
labeldistance=4
labelangle=0
海岬=<
b2
>
]
a3->c1[
labeldistance=5
labelangle=0
海岬=<
b3
>
]
}
结果:


谢谢。。我试过桌子,但不知道labelangle和labeldistance的用法。很有道理。。。还喜欢使用ranksep将行分开。@RoyM ranksep会影响整个图形,有时您不需要它。在这种情况下,您可以将“不可见”标签添加到其中一条边上。在本例中,您可以
a2->c1[label=“\n\n\n”…
digraph G {
    node  [shape=rect style=filled
           fontcolor=white fontsize=12 fontname="Helvetica Bold"]
    graph [ranksep=1]
    edge  [style=solid color="#777777"]

    a1 [fillcolor="#438dd5"]
    a2 [fillcolor="#438dd5"]
    a3 [fillcolor="#438dd5"]
    c1 [fillcolor="#08427b"]

    a1 -> c1 [
        labeldistance=5
        labelangle=0
        headlabel=<
            <table bgcolor="white" border="0">
                <tr>
                    <td>b1</td>
                </tr>
            </table>
        >
    ]
    a2 -> c1 [
        labeldistance=4
        labelangle=0
        headlabel=<
            <table bgcolor="white" border="0">
                <tr>
                    <td>b2</td>
                </tr>
            </table>
        >
    ]
    a3 -> c1 [
        labeldistance=5
        labelangle=0
        headlabel=<
            <table bgcolor="white" border="0">
                <tr>
                    <td>b3</td>
                </tr>
            </table>
        >
    ]
}