8

Hi
Can I get graphviz to color the edges in a way that identifies the direction? For example, the part of the edge near its source node might be blue and then it gradually shades away to red as it nears the target node. Or are there any other graphing tools (like graphviz) that can do this?

Any help in this regard would be much appreciated.

4

2 回答 2

10

好吧,我对您当前的点文件一无所知,所以我必须做出一些假设。首先处理简单的情况,区分边缘的方向是箭头(指向)和箭头(指向)的工作。只有当您的图形类型是有向图时,您的图形才会呈现这些图形,您将其设置在点文件的顶部,例如,

digraph G {
    node[style=filled, color=cornflowerblue, fontcolor=white, fontsize=10, 
          fontname='Helvetica']
    edge[arrowhead=vee, arrowtail=inv, arrowsize=.7, color=maroon, fontsize=10,
          fontcolor=navy]

    a1 -> a2;
    a2 -> a4 [taillabel="TL     "];
    a2 -> a5 [headlabel="       HL"];
    a4 -> a6 [label="  ordinary edge label"]
}

如果您已经创建了一个有向图,但由于某种原因您想要一个额外的指标来显示边缘方向,那么我能想到的唯一相关边缘属性是headlabeltaillabel属性,它允许您指定边缘的哪一端放置了一个标签。上面的小点文件将呈现此图:

替代文字

于 2010-12-04T23:15:21.483 回答
4

从 2012 和 2.30.0 开始,Graphviz 支持多种颜色的边缘:color="blue;0.5:red"应该使一半更接近源蓝色,而另一半更接近目标红色。更准确地说

如果 colorList 没有分数,则使用平行样条线或线绘制边缘,列表中的每种颜色按照给定顺序绘制一个。

头部箭头(如果有)使用列表中的第一种颜色绘制,尾部箭头(如果有)使用第二种颜色绘制。这支持绘制相对边的常见情况,但使用平行样条而不是单独布线的多边。

如果使用任何分数,则按顺序绘制颜色,每种颜色大致被赋予其指定的边缘分数。

于 2015-11-30T14:28:38.870 回答