Python3图可视化库graphviz入门教程

诸神缄默不语-个人技术博文与视频目录

graphviz库pypi官网:https://pypi.org/project/graphviz/

仅支持Python 3.8+,用pip安装:pip install graphviz

似乎是必须要先安装graphviz软件的。在Windows系统下安装软件的教程我之前也写了,参见:开源图可视化软件Graphviz安装教程

1. 创建图对象

有向图:dot = graphviz.Digraph(comment='The Round Table')

comment参数可以理解成注释之类的。

2. 增加节点

dot.node(node_name, [node_label])
node_name是用来区分节点的标识,node_label可以理解成对节点的注释。都必须要是str对象

3. 增加边

有两种写法,可见示例:

dot.node('A', 'King Arthur')
dot.node('B', 'Sir Bedevere the Wise')
dot.node('L', 'Sir Lancelot the Brave')

dot.edges(['AB', 'AL'])
dot.edge('B', 'L', constraint='false')

这样添加完的边是:

A -> B
A -> L
B -> L [constraint=false]

dot.edges()入参必须是一个列表,列表中一个元素表示一条边,每个元素要是一个可以迭代的对象,第一个对象是头节点,第二个对象是尾节点。示例中用的字符串当然符合这个标准,但是也可以用列表或者元组之类的,示例:

dot.node("Node1")
dot.node("Node2")
dot.node("Node3")
dot.edges([("Node1","Node2"),("Node2","Node3")])

dot.edge()的必选入参是tail_name: str, head_name: str,可以用node[:port[:compass]]格式,这里我们就简化成只管到node级别了。
也可以单独添加边属性(如示例中的constraint)

4. 生成图的DOT语言代码

dot.source:返回str格式的代码

5. 渲染图

直接渲染成PDF文件并打开:dot.render('test-output.gv', view=True)

render()函数的返回值是图片路径。
入参全部可选。
file_name入参(第一个入参)是gv文件(DOT语言源代码)的路径,可以写成带文件夹的路径,如r'test_folders\test-output.gv'
view入参为True时表示用默认图片查看器打开。

渲染成test-output.gv.pdf的效果:在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诸神缄默不语

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值