【发布时间】:2011-05-14 04:12:14
【问题描述】:
嗨
我可以让graphviz以识别方向的方式为边缘着色吗?例如,靠近其源节点的边缘部分可能是蓝色的,然后随着它靠近目标节点逐渐变暗为红色。或者是否有其他绘图工具(如 graphviz)可以做到这一点?
在这方面的任何帮助将不胜感激。
【问题讨论】:
标签: graph colors graphviz edges
嗨
我可以让graphviz以识别方向的方式为边缘着色吗?例如,靠近其源节点的边缘部分可能是蓝色的,然后随着它靠近目标节点逐渐变暗为红色。或者是否有其他绘图工具(如 graphviz)可以做到这一点?
在这方面的任何帮助将不胜感激。
【问题讨论】:
标签: graph colors graphviz edges
好吧,我对您当前的点文件一无所知,所以我必须做出几个假设。首先处理简单的情况,区分边缘的方向是箭头(指向)和箭头(指向)的工作。只有当您的图表类型是 有向 图表时,您的图表才会呈现这些图表,您将其设置在点文件的顶部,例如,
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"]
}
如果您已经创建了一个有向图,但由于某种原因您想要一个额外的指标来显示边缘方向,那么我能想到的唯一相关边缘属性是 headlabel 和 taillabel 属性,允许您指定放置标签的边的哪一端。上面的小点文件会渲染这个图:
【讨论】:
自 2012 年和 2.30.0 起,Graphviz 支持多种边缘颜色:color="blue;0.5:red" 应该使一半更接近源蓝色,而另一半更接近目标红色。 More precisely:
如果 colorList 没有分数,则使用平行样条或直线绘制边缘,列表中的每种颜色按照给定顺序绘制一条。
头部箭头(如果有)使用列表中的第一种颜色绘制,尾部箭头(如果有)使用第二种颜色绘制。这支持绘制相对边的常见情况,但使用平行样条线而不是单独布线的多边。
如果使用任何分数,则按顺序绘制颜色,每种颜色大致被赋予其指定的边缘分数。
【讨论】: