LOADING . . .

pydotplus使用

  pydotplus是别的语言嫁接到python里面的,所以绘制要传入字符串形式表示的结构,而没有python的结构对象直接用来画。代码如下:

import pydotplus as pdp
graph = pdp.graph_from_dot_data('digraph demo1{ a -> b -> c; c ->a d->h;d[label="demo"]}')
graph.write_pdf("demo.pdf") 

  输出:

  字符串的形式有点像C中的结构体,但是可以不写分号,用空格代替也可将语句分开。

  具体样式设置见:

  pydotplus安装和基本入门 - DataScience

  另外,因为上面网站没有提,所以记录一下。在“结构体”中,可以设置点与边的样式和字体,并且可以给边添加label:

 1 import pydotplus as pdp
 2 map_str = """
 3     digraph demo{
 4         node [shape=box, style="rounded", color="black", fontname="Microsoft YaHei"]; 
 5         edge [fontname="Microsoft YaHei"]; 
 6         a -> b[label="颀周"]
 7         a[label="你好!"]
 8         b[label="吃了吗?"] 
 9         }
10     """
11 graph = pdp.graph_from_dot_data(map_str)
12 graph.write_pdf("demo.pdf")

  显示如下:

  重要的是,node和edge中的fontname不设置成中文字体,如上面的Microsoft YaHei,中文就会显示乱码。如果设置成中文字体依然乱码,看下面:

  解决Graphviz无法显示决策树中文问题_开发工具_fzl的博客-CSDN博客

posted @ 2020-04-21 12:20  颀周  阅读(2656)  评论(3编辑  收藏  举报
很高兴能帮到你~
点赞