Graphviz 仅使用标签对绘制边

Graphviz 仅使用标签对绘制边,graphviz,dot,Graphviz,Dot,我想绘制图形(梯形图轨迹表示),如下所示: i、 e.无节点形状,有两个边缘标签:在边缘的头部和尾部。 我应该怎么做才能做到这一点? (14,15-每个节点有两条边)几乎是丑陋的解决方案(如果可以提高正确性,请进行编辑): 这导致了 可能无法使用Graphviz,但在(例如)SVG中非常简单。你为什么需要DOT?我想能够直接从C++代码下(通过boost::graph库)绘制图形。AFAIK boost::graph不绘制任何东西。如果定义了适当的导入/导出绑定,它会将渲染委托给Graphviz

我想绘制图形(梯形图轨迹表示),如下所示: i、 e.无节点形状,有两个边缘标签:在边缘的头部和尾部。 我应该怎么做才能做到这一点? (14,15-每个节点有两条边)

几乎是丑陋的解决方案(如果可以提高正确性,请进行编辑):

这导致了


可能无法使用Graphviz,但在(例如)SVG中非常简单。你为什么需要DOT?我想能够直接从
C++
代码下(通过
boost::graph
库)绘制图形。AFAIK boost::graph不绘制任何东西。如果定义了适当的导入/导出绑定,它会将渲染委托给Graphviz。若要绘制C++,请查看(例如)。
graph G {
    rankdir = LR;
    node [shape = point];
    edge [minlen = 2, fontsize = 8]
    a -- b [taillabel = "1", headlabel = "2"];
    b -- c [taillabel = "4", headlabel = "15"];
    b -- e [taillabel = "3", headlabel = "5"];
    e -- d [taillabel = "6", headlabel = "8"];
    e -- f [taillabel = "7", headlabel = "14"];
    c -- d [taillabel = "15", headlabel = "9"];
    f -- g [taillabel = "14", headlabel = "13"];
    d -- g [taillabel = "10", headlabel = "11"];
    g -- h [taillabel = "12", headlabel = "16"];
}