文章目录

  • 今日心得
  • graphviz安装与配置
  • dot和graphviz
    • dot
    • graphviz
  • 作图
    • step1:导入graphviz库
    • step:创建一个表
    • 添加点
    • 点之间创建边
    • 输出画的图
    • 生成图片文件
  • 样例

今日心得

也谈不上心得,就是学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 graphviz画图相关推荐

  1. python画图中文显示_解决Linux系统中python matplotlib画图的中文显示问题

    最近想学习一些python数据分析的内容,就弄了个爬虫爬取了一些数据,并打算用Anaconda一套的工具(pandas, numpy, scipy, matplotlib, jupyter)等进行一些 ...

  2. python画图完整代码-Python科学画图代码分享

    Python画图主要用到matplotlib这个库.Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形. 具体来说是pylab和p ...

  3. python画简单的图形的代码-Python实现画图软件功能方法详解

    概述 虽然Python的强项在人工智能,数据处理方面,但是对于日常简单的应用,Python也提供了非常友好的支持(如:Tkinter),本文主要一个简单的画图小软件,简述Python在GUI(图形用户 ...

  4. python简单代码画图-Python科学画图代码分享

    Python画图主要用到matplotlib这个库.Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形. 这里有一本电子书供大家参 ...

  5. python画图y轴在右侧_解决python中画图时x,y轴名称出现中文乱码的问题

    如下所示: #-*- coding:utf-8 -*- import numpy as np import matplotlib.pyplot as plt from matplotlib.font_ ...

  6. python实现画图哆啦A梦

    python实现画图哆啦A梦 借鉴了一下别人的数据,自己测太难了 效果图 python源代码 import turtle def flyTo(x, y): #开启无轨迹跳跃turtle.penup() ...

  7. python matplotlib画图产生的Type 3 fonts字体没有嵌入问题

    ScholarOne's 对python matplotlib画图产生的Type 3 fonts字体不兼容,更改措施: 在程序中添加如下语句 import matplotlib matplotlib. ...

  8. Python画板画图之美

    Python画板画图之美 *turtle.done() #可让画板窗口停止* 1.绘制同切圆 pensize为画笔宽度 circle(n),n为半径大小,两者单位均为像素 import turtle ...

  9. python魔法方法与函数_在Python中画图(基于Jupyter notebook的魔法函数)

    这篇文章主要介绍了在Python中画图(基于Jupyter notebook的魔法函数),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 先展示一段相 ...

最新文章

  1. 2、Reactive Extensions for .NET(译)
  2. Google Map API 的基础使用
  3. Django 3.2.5博客开发教程:用Admin管理后台管理数据
  4. 软件工程----9软件实现
  5. jQuery EasyUI API 中文文档 - 布局(Layout)
  6. mips语言实现 f(n) = f(n-1) + 2*f(n-2) + 3*f(n-3)
  7. 关于管理的十个经典故事
  8. Cadence PSpice 仿真4:共射极运放静态工作点仿真图文教程
  9. 第06章 数据挖掘综合应用
  10. 浅谈程序员35岁职业危机
  11. C程序设计 谭浩强 第三章
  12. 《算法竞赛入门经典》第三章思考题
  13. CentOS常用命令50个含示例
  14. Android开发--CardView使用
  15. 如何在九酷·轻音乐上下载MP3格式的音乐素材?
  16. 外校保研北大计算机,外校保研北大条件
  17. python递归是什么意思_Python——谈谈递归的深度问题
  18. kido机器人没反应_机器人示教器常见故障及解决方案
  19. 一起写个Dubbo——0. 一些不得不说的话
  20. 网络渗透测试漏洞复现任务

热门文章

  1. global.asax文件的作用
  2. mui初级入门教程(五)— 聊聊即时通讯(IM),基于环信 web im SDK
  3. IDM下载器安装教程,某网,某hub示例。
  4. 存储论及经济订货批量模型(EOQ)
  5. dedecms内链 arc.archives.class.php,dedecms文章关键字(自动内链)php5.5以上版本urf-8失效的解决方法...
  6. 微信小程序六(数据请求 表单的创建 提交 与接收)
  7. 跨部门沟通:这8条方法和建议,让跨部门协作不再难搞!
  8. layui 弹窗实现
  9. 题目:类Test1、类Test2定义如下:
  10. 2021-07-22相机检校