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")
另外,因为上面网站没有提,所以记录一下。在“结构体”中,可以设置点与边的样式和字体,并且可以给边添加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,中文就会显示乱码。如果设置成中文字体依然乱码,看下面: