Pydotplus使用说明
- Tip1 - Pydotplus与Graphviz区别
- Tip2 - 设置图案格式
- Tip3 - 引入数据
声明:主要记录学习心得,有点乱,请见谅!如有任何错误请指正,相互学习啊~
安装pydotplus,亲测是需要插入路径,原因查到再补
1
2
3
4
5pip install pydotplus import pydotplus as pdp import os os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin/'
Tip1 - Pydotplus与Graphviz区别
Pydotplus 一大优势是它可像dot原生语言一样编辑移动形态
实例:
1
2
3
4from IPython.display import display, Image graph = pdp.graph_from_dot_data('digraph demo1{ a -> b -> c; c ->a; }') display(Image(graph.create_png()))
此为graphviz内原生语言生成,在python内无法实现,是需要打开dot编辑器才能使用,python内会报错
原因:
要想使用graphviz,首先需要上官网下载graphviz并安装。安装之后就可以使用graphviz自带的编辑器gvedit来编写dot代码来绘制图形了。快捷键F5来预览生成的图片,Shift+F5打开对话框并点击ok就可以生成指定类型的图片文件。
但是graphviz自带的gvedit编辑器那是非常非常的难用。怎么办呢?经过四处寻找和妥协,最终找到了windows平台下的还挺好用的工具,此工具不仅具有dot代码高亮、代码提示,还阔以预览生成的图片,只是暂时还不能导出图片。该工具就是github出品的代码编辑器Atom,另外需要安装两个插件:language-dot和graphviz-preview。
使用Atom来编写和预览图片,最后使用gvedit来导出图片。看起来还不错的样子。
1
2
3
4
5
6digraph g { a->b; b->c; c->a; }
而在python(此处我用得jupyter notebook)是需要以node,edge得形式展现
1
2
3
4
5
6
7
8
9
10from graphviz import Digraph dot = Digraph(comment='The Round Table') 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')
Tip2 - 设置图案格式
链接参考:https://mlln.cn/2018/09/21/pydotplus安装和基本入门/
Graphviz User Guide:https://graphviz.readthedocs.io/en/stable/manual.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28dot = ''' //定义节点属性 digraph g { //==========定义节点关系============ a->b; b->c; c->a; c->d->e->f; d->g; e->h; //==========定义节点属性============ //定义a节点为长方形, 样式为填充, 填充颜色为#ABACBA a[shape=box,label="Server1nWebServer",fillcolor="#ABACBA",style=filled]; //定义b为5边形, 标签为"bb", 样式为填充, 填充色为red b[shape=polygon,sides=5,label="bb",style=filled,fillcolor=red]; //c, 默认为椭圆 d[shape=circle,label="和平",fontname="Microsoft YaHei"]; //园 e[shape=triangle]; //三角形 f[shape=polygon, sides=4, skew=0.5]; //平行四边形 g[shape=polygon, distortion=0.5]; //梯形, 上边长 h[shape=polygon, distortion=-.5]; //梯形, 下边长 } ''' graph = pdp.graph_from_dot_data(dot) # 下面这行用于在notebook中显示图片 Image(graph.create_png())
编辑在线上
1
2
3
4
5
6
7
8
9dot = ''' digraph g { a -> b a[shape=circle,label="和平",fontname="Microsoft YaHei"] //写在圈内 b -> c[label="和平",fontname="Microsoft YaHei"] //写在线上 }
Tip3 - 引入数据
待更…
备忘link:
Python pydot.graph_from_dot_data() Examples
PyDotPlus Homepage
最后
以上就是等待便当最近收集整理的关于Pydotplus使用说明Tip1 - Pydotplus与Graphviz区别Tip2 - 设置图案格式Tip3 - 引入数据的全部内容,更多相关Pydotplus使用说明Tip1内容请搜索靠谱客的其他文章。
发表评论 取消回复