【问题标题】:Relation between graphviz, the DOT format and cgraph?graphviz,DOT格式和cgraph之间的关系?
【发布时间】:2017-12-16 22:25:25
【问题描述】:

我计划使用 DOT 图表示格式来持久化/序列化具有一堆属性的图 - 不是为了绘制它们。

我了解了 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 代码独立相关?

请赐教。

【问题讨论】:

    标签: graphviz dot


    【解决方案1】:
    1. 点文件是一个简单的文本文件,遵循描述图形的结构。从历史上看,它是由 AT&T 与 GraphViz 一起开发的,当时“ma-bell”负责电话网络并开发晶体管、激光等发明。但现在许多图形/网络软件包都可以读取点文件。

    2. cgraph 是 Graphviz 附带的一个库。您可以通过查找一个名为 libcgraph 的文件来找到它,该文件通常位于名为 libcgraph 的文件夹中。它可以与 GraphViz 分开使用。它的代码在您看到的文件夹中。

    3. 从技术上讲,dot 和 cgraph 是不同的东西。事实上,Graphviz 过去曾经使用不同的库并切换到 cgraph 库。因此,您可以在 graphviz 网站上找到描述旧版 graphviz 库的 pdf。

    将 Graphviz 视为 IDE/包/可视化系统。 cgraph 是这个包中的一个工具。点是用于存储和操作图形数据的基于文本的系统的格式——尤其适用于可视化。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2011-01-16
        • 2011-12-10
        • 1970-01-01
        • 2012-06-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-25
        相关资源
        最近更新 更多