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:

import pydotplus as pdp
map_str = """
    digraph demo{
        node [shape=box, style="rounded", color="black", fontname="Microsoft YaHei"]; 
        edge [fontname="Microsoft YaHei"]; 
        a -> b[label="颀周"]
        a[label="你好!"]
        b[label="吃了吗?"] 
        }
    """
graph = pdp.graph_from_dot_data(map_str)
graph.write_pdf("demo.pdf")

  显示如下:

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

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

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