我用graphviz画了一张图。请参见FSM https://i.stack.imgur.com/bsVUW.png。
我认为它很丑,因为自环边缘太短。
边缘的属性“minlen”对我不起作用。
我尝试了节点的几个端口,但除了我当前的实现之外,一切都显示出一团糟。你有什么好主意给我吗?
代码在这里:
digraph finite_state_machine {
rankdir=LR;
size="8,2"
fontname="Verdana"
node [shape = doublecircle]; Idle;
node [shape = circle,nodesep = "2.0"];
Working:s -> Working:s [ label = "response[j]?" ,minlen = 50000];
Idle -> Working [ label = "boot" ];
Working:n -> Working:n [ label = "sendtx[i]!",minlen = 50000 ];
Working:e -> Working:e [ label = "qry!" ,minlen = 50000];
}
Adding nodesep=1;
使循环更大,但不是更好。所以这会有所帮助:
digraph finite_state_machine {
rankdir=LR;
size="8,2"
fontname="Verdana"
node [shape = doublecircle]; Idle;
node [shape = circle,nodesep = "2.0"];
Working:s -> Working:s [ label = "response[j]?" ,minlen = 50000];
Idle -> Working [ label = "boot" ];
Working:n -> Working:n [ label = "sendtx[i]!" ];
Working:e -> Working:e [ label = "qry!"];
nodesep=1;
}
会产生类似的东西:
点输出 http://www.gravizo.com/svg?digraph%20finite_state_machine%20%7B%20%20rankdir=LR;%20%20size=%228,2%22%20%20fontname=%22Verdana%22%20%20node%20%5Bshape%20=%20doublecircle%5D;%20Idle;%20%20node%20%5Bshape%20=%20circle,nodesep%20=%20%222.0%22%5D;%20%20Working:s%20-%3E%20Working:s%20%5B%20label%20=%20%22response%5Bj%5D?%22%20,minlen%20=%2050000%5D;%20%20Idle%20-%3E%20Working%20%5B%20label%20=%20%22boot%22%20%5D;%20%20Working:n%20-%3E%20Working:n%20%5B%20label%20=%20%22sendtx%5Bi%5D%22%5D;%20%20Working:e%20-%3E%20Working:e%20%5B%20label%20=%20%22qry%22%20%5D;%20%20nodesep=0.7;%7D
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)