pydotplus使用

Posted qizhou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pydotplus使用相关的知识,希望对你有一定的参考价值。

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

1 import pydotplus as pdp
2 graph = pdp.graph_from_dot_data(digraph demo1{ a -> b -> c; c ->a d->h;d[label="demo"]})
3 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博客

以上是关于pydotplus使用的主要内容,如果未能解决你的问题,请参考以下文章

AttributeError:模块“pydotplus”没有属性“节点”

Python——graphviz及pydotplus安装步骤

如何在 Windows64 上为 Python 3.5 安装 pydotplus

绘制决策树,graphvizm pydotplus

决策树以及XGBoost如何画出 树分裂图?

决策树以及XGBoost如何画出 树分裂图?