我在图语法建模(模型检查)上研究research paper。为了更好地理解,我开始exploring the experiments由研究人员运作。
他们使用点表示法来指定图表结构,并使用labelangle=-35
和type = "rt|re|node"
我在互联网上找不到任何关于点语言的好参考,没有一个从新手的角度出发。当我搜索stackoverflow时,我感觉没有标准的方法来指定点中的东西,因为几个符号已经过时但仍然存在于文献中。
有人可以向我解释至少在这种情况下属性type
或labelangle
的目的是什么。
注意:type
和labelangle
似乎都不会对graphviz生成的图形产生影响。
例如,考虑下面的图表,它在detailed description of topology formation on page 58中被引用为不良模式(不要担心什么是坏模式,这是研究人员在他们的论文中定义的内容),使用此点文件创建:
graph bad_pattern
{
splines = true;
node1 [shape=circle, style = filled, width=.15, label = "1", type = "rt"];
node2 [shape=circle, style = filled, width=.15, label = "2", type = "re"];
node3 [shape=circle, style = filled, width=.15, label = "3", type = "node"];
node4 [shape=circle, style = filled, width=.15, label = "4", type = "rt"];
node5 [shape=circle, style = filled, width=.15, label = "5", type = "node"];
node6 [shape=doublecircle, style = filled, width=.15, label = "6", type = "re"];
RouteEntry0 [shape = box, style = filled, label = RouteEntry]
RouteEntry0 -- node1 [taillabel = 0, labelangle=-35, labeldistance=1];
RouteEntry0 -- node2 [taillabel = 1, labelangle=-35, labeldistance=1];
RouteAddress0 [shape = box, style = filled, label = RouteAddress]
RouteAddress0 -- node2 [taillabel = 0, labelangle=-35, labeldistance=1];
RouteAddress0 -- node5 [taillabel = 1, labelangle=-35, labeldistance=1];
RouteNextHopAddress [shape = box, style = filled]
RouteNextHopAddress -- node2 [taillabel = 0, labelangle=-35, labeldistance=1];
RouteNextHopAddress -- node3 [taillabel = 1, labelangle=-35, labeldistance=1];
RouteTable [shape = box, style = filled]
RouteTable -- node3 [taillabel = 0, labelangle=-35, labeldistance=1];
RouteTable -- node4 [taillabel = 1, labelangle=-35, labeldistance=1];
RouteEntry1 [shape = doubleoctagon, style = filled, label = RouteEntry]
RouteEntry1 -- node4 [taillabel = 0, labelangle=-35, labeldistance=1];
RouteEntry1 -- node6 [taillabel = 1, labelangle=-35, labeldistance=1];
RouteAddress1 [shape = doubleoctagon, style = filled, label = RouteAddress]
RouteAddress1 -- node6 [taillabel = 0, labelangle=-35, labeldistance=1];
RouteAddress1 -- node5 [taillabel = 1, labelangle=-35, labeldistance=1];
label = ""
fontsize=20;
}
根据我迄今为止开发的理解,我甚至不确定此图应该是上述点文件的输出,因为边和节点映射与点文件和输出图中指定的不一样。
请帮忙。
答案 0 :(得分:0)
有关Graphviz的概述,请访问Drawing graphs with dot。对属性的引用位于Node, Edge and Graph Attributes - Graphviz。
type
不是常规属性,但该语言支持它进行进一步处理的任意用户属性。也许实验中有一个后续步骤使用它 - 布局引擎不会使用它。