Graph 点图语言-如何自动生成双向边?

Graph 点图语言-如何自动生成双向边?,graph,graphviz,dot,Graph,Graphviz,Dot,下面是我的点图的一个非常简化的示例: strict digraph graphName { A->B B->A } 这创造了 相反,我希望在a和B之间显示一条边,但带有双箭头。我知道如何将双箭头作为全局选项: strict digraph graphName { edge [dir="both"] A->B B->A } 但这看起来很难看,而且不是我所有的边缘都应该是双头的 如果我对图形做更多的处理,自己检测双重引用,并用一条边替换两条边,看起来就可以了。但我

下面是我的点图的一个非常简化的示例:

strict digraph graphName {
A->B
B->A
}
这创造了

相反,我希望在a和B之间显示一条边,但带有双箭头。我知道如何将双箭头作为全局选项:

strict digraph graphName {
  edge [dir="both"]
A->B
B->A
}
但这看起来很难看,而且不是我所有的边缘都应该是双头的

如果我对图形做更多的处理,自己检测双重引用,并用一条边替换两条边,看起来就可以了。但我不想再多做这一步

strict digraph graphName {
A->B [dir="both"]
}


有更好的解决方案吗?

那么“专注=真实”怎么样

strict digraph graphName {
concentrate=true
A->B
B->A
}

从:

如果为true,则使用边缘集中器。这 将多条边合并为一条边 并使部分平行边 共享他们的部分路径。后者 此功能在外部尚不可用 点的

您只需使用:

A -> B [dir=both]

为我使用标签,我正在运行旧版本。如果有帮助。。。这对我不起作用,因为它将边缘合并在一起,但只在末端放了一个箭头。然后我尝试“严格有向图”。。。这很傻,但这正是OP想要的,太大了@Phillw它也不适用于我,我只使用一个箭头获得边缘。我正在使用pygraphviz,我尝试了
pgv.AGraph(directed=True,strict=True)
,但它也不起作用,我又得到了两条边。。。有什么建议吗?这为我节省了一些多余的行,我正在使用它以及适当的顶级答案。你不需要在“两者”周围加引号@NoahSussman它不可能是被接受的答案,因为它实际上没有回答问题;)