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,中文就會顯示亂碼。如果設置成中文字體依然亂碼,看下面: