本篇内容主要讲解“如何使用Graphviz”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Graphviz”吧!
第一步:Graphviz官网安装graphviz(可下载.msi和免安装版),下载后将bin目录配置到环境变量Path中
第二步:命令行安装graphviz,这个模块给出了很多的python接口去使用Graphviz软件
pip install graphviz
python-graphviz
是什么?
官网 文档
==简介==:Graphviz是AT&T Labs Research开发的开源图形可视化软件。图形可视化是一种将结构信息表示为抽象图形和网络图的方式。它在网络,生物信息学,软件工程,数据库和网页设计,机器学习以及其他技术领域的可视界面中具有重要的应用。
==特征==:Graphviz布局程序以简单的文本语言获取图形的描述,并以有用的格式制作图表,例如用于网页的图像和SVG;PDF或Postscript,以包含在其他文档中;或在交互式图形浏览器中显示。Graphviz具有用于具体图表的许多有用功能,例如颜色,字体,表格节点布局,线条样式,超链接和自定义形状的选项。
使用原理: graphviz实际是一种绘图工具,可以根据dot脚本来画出树形图,==我们可以利用python代码生成dot脚本==,然后调用graphviz来解析脚本,生成一张图片.
dot脚本语言:是开源工具包Graphviz上用来画图的一门脚本语言,语法非常简单,官方文档也只有8页。
案例一:
from graphviz import Digraph dot = Digraph(comment='The Test Table')# 给dot脚本语言加注释 #----------创建结点语句---- # 添加圆点A,A的标签是Dot A dot.node('A', 'Dot A') # 添加圆点 B, B的标签是Dot B dot.node('B', 'Dot B') # 添加圆点 C, C的标签是Dot C dot.node(name='C', label= 'Dot C',color='red') #----------创建边的语句-----(两种方式) # 创建一堆边,即连接AB的两条边,连接AC的一条边。 dot.edges(['AB', 'AC']) # 在创建两圆点之间创建一条边 dot.edge('B', 'C', 'test') #--------观看原dot语言的表达形式----- # 获取DOT source源码的字符串形式,如图一 print(dot.source) #--------显示图像的----------- #dot.view() 直接显示,使用Digraph.gv默认名 dot.render('test-table.gv', view=True)# 设置图片名,以及直接显示
dot脚本原语:
案例二:
from graphviz import Digraph sub_g0 = Digraph(comment="process1",graph_attr={"style":'filled',"color":'lightgrey'},node_attr={"style":"filled","color":"red"}) sub_g0.node("a0","a0") sub_g0.node("a1","a1") sub_g0.node("a2","a2") sub_g0.node("a3","a3") sub_g0.edge("a0","a1") sub_g0.edge("a1","a2") sub_g0.edge("a2","a3") sub_g0.edge("a3", "a0") sub_g1 = Digraph(comment="process1",graph_attr={"style":'filled'}) sub_g1.node("B","b0") sub_g1.node("C","b1") sub_g1.node("D","b2") sub_g1.node("E","b3") sub_g1.edges(["BC","CD","DE"]) grap_g = Digraph("G",format="pdf") grap_g.node( "start", label="start",shape="Mdiamond") grap_g.node( "end", label="end", shape="Mdiamond") grap_g.subgraph(sub_g0) #将sub_g0和sub_g0 的Digraph加入到grap_g的Digraph中,方便一次显示 grap_g.subgraph(sub_g0) grap_g.edge("start","a0") grap_g.edge("start","B") grap_g.edge("a1","E") grap_g.edge("D","a3") grap_g.edge("a3","end") grap_g.edge("E","end") grap_g.view() #grap_g.render('test-table2.gv', view=True)
到此,相信大家对“如何使用Graphviz”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。