graphviz库生成的图表不正确

时间:2014-02-19 11:16:13

标签: c svg graphviz dot

我目前正在努力使用GraphViz。

这是我的代码:

GVC_t* gvc = gvContext();

FILE* f = fopen("out.dot", "r");
Agraph_t* G = agread (f);
fclose(f);
gvLayout (gvc, G, "dot");

gvRenderFilename (gvc, G, "svg", "mygraph.svg");
gvFreeLayout(gvc, G);

agclose (G);

gvFreeContext(gvc);

但是,此代码给出的输出和dot -Tsvg out.dot > output.svg调用给出的输出完全不同:

  • dot的命令行调用产生了一个好看的图表
  • 此代码生成一个图表,其中所有节点位于同一位置,使其无法读取。

奇怪的是,当我将gvLayout (gvc, G, "dot");中的算法从dot更改为neato或其他布局算法时,它运行良好(twopi除外),但点布局引擎是唯一一个为我的图形生成可接受结果的引擎

有人知道我的代码有什么问题吗?

0 个答案:

没有答案