如何使用Graphviz
发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,本篇内容主要讲解"如何使用Graphviz",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何使用Graphviz"吧!前期准备知识安装Graphviz第一
千家信息网最后更新 2025年01月16日如何使用Graphviz
本篇内容主要讲解"如何使用Graphviz",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何使用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 Digraphdot = Digraph(comment='The Test Table')# 给dot脚本语言加注释#----------创建结点语句----# 添加圆点A,A的标签是Dot Adot.node('A', 'Dot A')# 添加圆点 B, B的标签是Dot Bdot.node('B', 'Dot B')# 添加圆点 C, C的标签是Dot Cdot.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 Digraphsub_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"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
脚本
图形
语言
圆点
文档
标签
案例
软件
学习
信息
内容
图像
图片
图表
实际
工具
布局
形式
方式
有用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
绍兴企业软件开发总结
mysql数据库查询超慢6
数据库多表查询同时呈现
英雄联盟能退出服务器吗
大学软件开发学校
个体营业执照 软件开发
四川师范大学网络技术基础课答案
联想互联网科技有限公司
江油市公安局网络安全保卫大队
大数据和数据库的区别
循证医药学数据库
软件开发中的字典和数据库作用
日主题数据库链接
洛阳领域网络技术有限公司
数据库添加数据错误
c 高并发tcp服务器
数据库代码seclect
pod文件管理服务器
国家网络安全上市企业
软件开发项目预算计算
医院管理系统用什么数据库
服务器管理固件版本
sql语句显示所有数据库
ava软件开发工程师
原神组队需要同服务器吗
迪拜彩票平台服务器
软件开发者上哪里找
潍坊政务软件开发定制
mysql数据库忘记管理员密码
服务器可以加贪婪整合包吗