import networkx as nx
G = nx.DiGraph()
G.add_edge("A: test", 'B: test')
nx.write_dot(G,'so.dot')
生产
这是因为结肠。在
so.dot
:
注意它去掉了冒号和后面的所有东西。在
如果我手动将其更改为
strict digraph G {
"A: test";
"B: test";
"A: test" -> "B: test";
}
很好。事实上,有没有节点并不重要,只要有边就行。在
如果删除:
和{
我试过用各种方法摆脱结肠,但似乎不管用。显然,我每次都可以手动删除节点,但最好使用脚本化的解决方案。(而不是通过.dot文件的第二个脚本)
有人有主意吗?在
这不是一个bug,这是GraphViz点语言语法的一个特性。节点名中的冒号用于指定输入或输出端口。在
从GraphViz文档中,Node, Edge and Graph Attributes
然而,根据this answer的说法,您可以通过向Graphviz传递一个带引号的节点名来克服这种行为,例如
相关问题 更多 >
编程相关推荐