51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Graphviz 使用教程

Graphviz 是一个开源的图可视化工具,非常适合绘制结构化的图标和网络。 本文记录安装即使用方法。

简介 {#简介}

  • graphviz 是贝尔实验室设计的一个开源的画图工具,它的强大主要体现在"所思即所得"(WYTIWYG,what you think is what you get),这是和office的"所见即所得"(WYSIWYG,what you see is what you get)完全不同的一种方式。

  • 它的输入是一个用dot语言 编写的绘图脚本,通过对输入脚本的解析,分析出其中的点,边以及子图,然后根据属性进行绘制。

  • 用graphviz来绘图的时候,你的主要工作就是编写dot脚本,只要关注图中各个点之间的关系,不需要考虑如何安排各个节点的位置。

  • 官方示例:https://graphviz.org/gallery/

下载安装 {#下载安装}

Linux {#Linux}

Windows {#Windows}

  • 下载安装包 进行安装

  • 安装时建议勾选将 安装目录 /bin 添加至系统路径

    如果没有勾选,安装后需要手动将 安装目录 /bin 添加至系统路径

Mac {#Mac}

测试 {#测试}

  • 命令行执行
  • 返回 graphviz 的版本信息则表示安装、路径配置完成

使用 {#使用}

布局引擎 {#布局引擎}

  • graphviz中包含了众多的布局器:

| 布局方式 | 描述 | |-------|---------------------------------| | dot | 默认布局方式,主要用于有向图 | | neato | 基于spring-model(又称force-based)算法 | | twopi | 径向布局 | | circo | 圆环布局 | | fdp | 主要用于无向图 |

  • 分别对应 graphviz 安装目录下 bin 文件夹中的可执行程序

帮助 {#帮助}

  • 执行 dot --help 可以查看帮助文档

基本使用 {#基本使用}

  • 所有的 graphviz 命令都使用相同的格式

| 命令参数 | 描述 | |-------------|--------------------------------------------------------------------| | cmd | 指布局引擎,包括:dot,neato,twopi,circo,fdp | | flags | 指帮助文档中提供的标志配置方法,官方文档 | | input files | 输入文件路径 |

  • 支持有向图 digraph 和无向图 graph

基本示例 {#基本示例}

  • 以一个精简版的官方示例为例
  • 图文件:
  • 将该文件保存为 test.txt 文本文件
  • 在文件目录执行命令
  • 生成 test.png 文件

参数配置 {#参数配置}

  • 可以配置图形属性,包括 graph , node, edge 三种属性

    node与edge公用样式:"dashed"虚线, "dotted"点, "solid"固体框, "invis"隐藏 and "bold" 加粗

  • graph 属性在配置文件中时可以不用强调 graph [] ,直接写入属性

命令行配置 {#命令行配置}
  • 可以在命令行配置,如帮助文档中的使用方法:

    • 以上文示例为例,如需要通过配置 graph 属性为图形添加红色的标题,可以在命令行执行

图文件配置 {#图文件配置}
  • 也可以在图的生成文件中配置属性
  • 以上文示例为例,如需要通过配置 graph 属性为图形添加红色的标题,并配置node 属性,可以修改配置文件:
  • 直接生成图像,在命令行不需要添加属性
  • 生成效果

节点属性 {#节点属性}
  • 属性可以设置在节点和边上,用一对 [] 表示,多个属性可以用空格或者 , 隔开。

分段 {#分段}

  • 边属性支持分段

python 调用 {#python-调用}

  • 使用
  • 得到 pdf 文件

参考资料 {#参考资料}



文章链接:
https://www.zywvvd.com/notes/tools/graphviz/graphviz/

赞(1)
未经允许不得转载:工具盒子 » Graphviz 使用教程