IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python graphviz画图 -> 正文阅读

[Python知识库]python graphviz画图

今日心得

也谈不上心得,就是学graphviz这个库又有着一段让人哭笑不得的心路历程。
最近要开始做课设来着,题目是哈夫曼编码,我琢磨着有什么办法可以打印出一棵树的结构(其实有一次实验,就要求打印树,那个时候就没能实现),偶然遇到了一篇博客,有提到graphviz这个库,我就扫了一眼,发现居然可以打印各种形状和流程图,直接激动到惊呆。
于是立马pip install graphviz,库很快下载,但就无论如何都画不了图,折腾了将近一个小时,才在大佬的一篇博客里发现,是需要给graphviz添加进环境变量里…
总之,虽说,出现问题的时候,心态挺崩的,但是,解决问题的那一刻,真的很快乐!

graphviz安装与配置

进入官网下载https://graphviz.org/download/
(版本基本上不影响使用,随便一个就可以)
下载之后,会有一个安装过程,全部next即可,记得勾选加入PATH!!!
如果没勾选,记得手动加入环境变量的path里,否则你就会像我一样,变得不幸。
而且,添加完环境变量之后,还得重启编译器,否则没啥用。
加入之后是这样的:
请添加图片描述

dot和graphviz

dot

dot是一种文本图形描述语言,编写好的.dot文件可以被机器处理为图片,通常可以生成.png,.jpg,.pdf等格式。

graphviz

graphviz是python的一个开源库,dot的各种操作被包括在graphviz中。
graphviz可以用来画简单的流程图。
在我看来,就是用来画数据结构的树啊图啊超级方便。

作图

step1:导入graphviz库

from graphviz import Digraph  # 导入graphviz库

step:创建一个表

dot = Digraph(name, comment)

添加点

dot.node(name, label)

点之间创建边

dot.edge(tail_name, head_name, label)

输出画的图

dot.view()

生成图片文件

print(dot.source) 
render(filename=None, directory=None, view=False, cleanup=False)
# 参数分别为文件名、文件保存路径、是否用默认程序打开渲染效果、是否在渲染后删除源文件

样例

from graphviz import Digraph  # 导入graphviz库

dot = Digraph("lmy's table", comment='The Test Table')  # 创建一个表

dot.node('A', 'Dot A')  # 添加一个点,点的名称为'Dot A'

dot.node('B', 'Dot B')

dot.node('C', 'Dot C')

dot.node('D', 'Dot D')

dot.edges(['AD', 'AC', 'BC'])  # 两点间创建边

dot.edge('B', 'C', 'test')
# dot.view(),此函数可以实时看到你画的图


# 获取DOT source源码的字符串形式
print(dot.source)
# // The Test Table
# digraph {
#   A [label="Dot A"]
#   B [label="Dot B"]
#   C [label="Dot C"]
#   A -> B
#   A -> C
#   A -> B
#   B -> C [label=test]
# }

# 保存source到文件,并提供Graphviz引擎
dot.render('test-output/lmy.gv', view=True)

运行结果:
可以看到生成了一个pdf文件
在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-12-26 22:06:37  更:2021-12-26 22:07:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 3:43:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码