当前位置:   article > 正文

关系图绘制神器_关系图谱软件

关系图谱软件

前言

图形可视化在机器学习、网络、软件工程、数据库、生物信息、网页设计等技术领域有着重要的应用,实用高效的自动图形绘制软件在今日显得越来越具价值。今天,笔者向大家推荐一款开源的图形可视化软件Graphviz(Graph Visualization Software), 它使用方法简单,功能强大,能满足关系图、流程图、数据结构图、网络图、树形图等各种图形的绘制需求。

一、Graphviz简介

Graphviz由贝尔实验室开发,通过领域特定语言dot脚本绘制图形,并执行布局引擎来完成自动布局。它的主要特点包括:

  • 自动排版,布局美观;
  • 具备多种可供调整的有用特性包括颜色、字体、表格节点布局、线条样式、超链接、自定义形状等;
  • 生成图片支持bmp、emf、eps、gif、jpg、pdf、png、ps、svg、tif等多种格式;
  • 支持windows、linux、mac等多种操作系统。

在这里插入图片描述

二、下载安装

下载网址为 http://graphviz.org/download/,各平台下载安装方式均有介绍,过程简单,不再赘述。
在这里插入图片描述

下文描述均基于windows系统。打开安装好的程序后如下图,只需在graph1.gv窗口输入Dot语言脚本,然后点击Layout按钮即可生成图片,Settings按钮可设置输出图片格式等。

在这里插入图片描述

三、Dot语言

图形可视化时要用软件能理解的格式来表示图形。Graphviz使用Dot语言格式,该格式可以以人类可读的方式编码图形的大多数属性。掌握Dot语言并不难,甚至对有编程基础的人员来说是非常简单,语法具体介绍见https://graphviz.org/doc/info/lang.html,在此不赘述,通过下文所举示例即可掌握其常用部分。

在这里插入图片描述

四、绘图方法

4.1 基本方法

Dot语言主要描述3种对象:图、节点和边。图的形式可为有向图(关键字为digraph)或无向图(关键字为graph),另外在一个主图中还可通过subgraph定义子图。基本绘图方法示例如下:
在这里插入图片描述
如上,左图为Dot脚本,右图为输出结果。脚本第1行设定图属性和名称。如果1个字符串在脚本中第一次出现,它将会被创建为1个节点,比如“main”。注意,实际脚本中不需要行号,在此加上是为了更好地描述相关事项。

通常还要调整节点、边和图的属性和位置:
在这里插入图片描述
Dot脚本中方括号内为节点或边的属性;第12行设置了一个节点属性,随后第13行的compare节点继承了该属性。

4.2 无向图绘制

一个无向图的Dot脚本从关键字graph开始,后面跟图的名称。节点u和v之间的无向边可以由u – v指定。举例如下:

在这里插入图片描述

4.3 有向图绘制

一个有向图的Dot脚本从关键字digraph开始,后面跟图的名称。节点u到v的有向边可以由u -> v指定。上文“基本方法”一节绘制的即为有向图,另举例如下:

在这里插入图片描述

4.4 绘图属性

Graphviz提供了大量的节点、边、图、箭头类型、颜色等属性可供用户调整,具体可从Graphviz官网文档查阅,本文仅用部分箭头属性示例:

在这里插入图片描述

4.5 高级功能

  • 节点连接方式
    节点连接方向可通过headport和tailport进行设置,共有8种位置:n、ne、e、se、s、sw、w、nw,分别表示8个方位。注意headport表示有向边的箭头端即终端,tailport表示起始端,示例如下:

在这里插入图片描述

  • 针对shape=record的节点,还可以指定节点连接的位置(使用<>来定位),比如下面的数据结构图:

在这里插入图片描述

  • 子图
    绘制子图需使用subgraph关键字。如果最高层级图的复合属性compound设置为true,Dot将允许边与节点或子图连接。示例如下,注意b->f、c->e的连接方式:

在这里插入图片描述

五、结束语

根据上述介绍,可以看出Graphviz是一款功能强大、使用便捷、上手容易的开源图形可视化软件,能满足机器学习、网络、软件工程、数据库、生物信息、网页设计等技术领域的相关图形绘制需求。希望读者尝试去使用它,相信一定会对您的学习工作起到促进作用。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/796412
推荐阅读
相关标签
  

闽ICP备14008679号