欢迎使用CSDN-markdown编辑器
来源:互联网 发布:大学生创业知乎 编辑:程序博客网 时间:2024/06/05 00:42
【python】pygraphviz生成二叉树图
pytgraphviz是graphviz工具python包装库。在本质上还是使用dot语言,实现画图功能。其最主要的功能点,其实只是快速的生成.dot文件,绘图的功能需要dot的支持。
绘图
先上代码:
#画图def draw_plshu(): r_tulp = getAll() r_map = tulpToMap(r_tulp) A = pgv.AGraph(directed=True,strict=True) for item in r_tulp: l_next = 2*item[0] r_next = 2*item[0]+1 node = "("+str(item[0])+")"+item[1] if r_map.has_key(l_next): l_node = "("+str(r_map[l_next][0])+")"+r_map[l_next][1] A.add_edge(node,l_node) if r_map.has_key(r_next): r_node = "("+str(r_map[r_next][0])+")"+r_map[r_next][1] A.add_edge(node,r_node) A.graph_attr['epsilon']='0.001' A.write('pl003.dot') A.layout('dot') A.draw('pl003.svg')
AGraph对象是python包装的graph对象,使用此对象完成绘图。
方法or属性
add_*
add系列方法,程序结构中增加各个dot元素。
A.add_edge(node,r_node)
graph_attr
graph_attr属性设置dot的graph属性,如dot中的:
strict digraph { graph [bb="0,0,52843,684", epsilon=0.001 ];}
write
write()方法写出dot文件
draw
draw()方法调用dot画图
注意使用画图时,最好使用svg格式的矢量图。使用png格式的位图,遇到数据量大时,会导致图片画不出来。
0 0
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- Fragment使用startActivityForResult无效
- 且看如何以精致的方式展现,解析和分析GitHub上语言的发展趋势
- 基于极限学习器的快速深度学习算法
- 线与逻辑
- spring mvc 重定向
- 欢迎使用CSDN-markdown编辑器
- intelliJ idea读取资源文件
- atl工程获取系统时间
- Puppet 资料整理
- JAVA架构师知识集 (收集到的)
- 二叉树的建立、销毁、各种遍历(递归、非递归)
- 百度地图初步使用
- .Net基础
- hive分区处理注意点