如何用C语言中的graphviz创建两个定向箭头?

如何用C语言中的graphviz创建两个定向箭头?,c,graphviz,graph-visualization,C,Graphviz,Graph Visualization,我试图在graphviz库的帮助下用C可视化一个图形。图由邻接矩阵给出。图形是有方向的,存在一个问题。我使用矩阵,在n和m之间创建一条边,然后继续,但是m和n之间的边也在那里,我创建了另一条边。结果,graphviz像预期的那样绘制了两条边,但是具有大量边的图形很难读取。我想创建一条带有双向箭头的单条边,但不知道如何正确操作。(有一个愚蠢的想法,首先创建一个包含图形描述的文件(添加到边的描述[dir=both]),然后再对其进行处理并绘制图形。我确信有更好的解决方案,但我不知道。) 我与matr

我试图在graphviz库的帮助下用C可视化一个图形。图由邻接矩阵给出。图形是有方向的,存在一个问题。我使用矩阵,在n和m之间创建一条边,然后继续,但是m和n之间的边也在那里,我创建了另一条边。结果,graphviz像预期的那样绘制了两条边,但是具有大量边的图形很难读取。我想创建一条带有双向箭头的单条边,但不知道如何正确操作。(有一个愚蠢的想法,首先创建一个包含图形描述的文件(添加到边的描述[dir=both]),然后再对其进行处理并绘制图形。我确信有更好的解决方案,但我不知道。)

我与matrix的合作方式如下:

for(i=0; i<n; i++)
            nodes[i] =  agnode(g, itoa(i+1, name)); // Agnode_t *nodes[100];
    for(i=0; i<n; i++)
            for(j=0; j<n; j++)
                    if(matrix[i][j])
                            agedge(g, nodes[i], nodes[j]); // add edges

for(i=0;i您需要在边上设置
dir
属性,我相信您可以在最里面的循环中这样做:

Agedge_t *e = agedge(g, nodes[i], nodes[j]);
agsafeset(e, "dir", "both", "");