2017-07-12 22 views
0

我打算使用DOT图形表示格式来持续/序列化具有一堆属性的图形 - 而不是为了绘制它们。graphviz,DOT格式和cgraph之间的关系?

我知道DOT的输入格式为GraphViz,所以我去了那个网站看DOT如何被解析,以及我是否可以使用解析器或轻松移植它。我发现的是这个文件:Using GraphViz as a Library。以下是关于DOT的内容:

cgraph库为在DOT中表示的图形提供解析器。 使用此功能,可以使用agget或agxget轻松读取图形并查询所需的 属性。有关这些 函数的更多信息,请参见第2.1.1节。

和第2.1.1节,它说:

在绘制图中的第一个步骤是创建它。要使用Graphviz布局软件,必须使用cgraph 库创建图表。 我们可以创建两种主要途径之一的图形,使用agread()agopen()等等,等等

...然后它描述了这些功能,这需要一个C标准库FILE*,或char*字符串。

我不太明白。它看起来像cgraphis just a folder of code within the graphviz repository

  • 是什么意思了DOT文件要由cgraph图书馆阅读?
  • cgraph是否作为独立库存在?
  • DOT格式是否存在/独立于graphviz开发,如果是这样 - 它是否与cgraph代码独立相关?

请赐教。

回答

0

对于你的第三个问题,DOT本身就是一种语言,它的语法允许我们描述图形。各种软件包应用程序提供诸如IDE(例如GraphViz)的功能以及以各种格式和布局呈现和保存图形的能力。

如果DOT语言的语法允许您充分描述您的图形,那么这是一个很好的方法,因为应用程序和渲染器的整个生态系统都可以使用,所以您应该决定使用它们。这很简洁 - 正是出于这个原因,我将它用于系统文档(> 400台服务器和> 1000个节点)。

相关问题