概述
Pydotplus使用说明
- Tip1 - Pydotplus与Graphviz区别
- Tip2 - 设置图案格式
- Tip3 - 引入数据
声明:主要记录学习心得,有点乱,请见谅!如有任何错误请指正,相互学习啊~
安装pydotplus,亲测是需要插入路径,原因查到再补
pip 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原生语言一样编辑移动形态
实例:
from 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来导出图片。看起来还不错的样子。
digraph g {
a->b;
b->c;
c->a;
}
而在python(此处我用得jupyter notebook)是需要以node,edge得形式展现
from 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
dot = '''
//定义节点属性
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())
编辑在线上
dot = '''
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 - Pydotplus与Graphviz区别Tip2 - 设置图案格式Tip3 - 引入数据所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复