python使用yapgvb进行图的可视化输出

yapgvb是Graphviz 一个python的封装,可以把一个数据结构中的有向图、无向图、关系网络等直观的显示出来,并且自动排版。 输出格式有 'pic', 'jpg', 'ismap', 'gd', 'hpgl', 'ps2', 'plain-ext', 'wbmp', 'ps', 'mif', 'gif', 'canoncmap', 'fig', 'pcl', 'vtx', 'vrml', 'svgz', 'gd2', 'xdot', 'jpeg', 'cmapx', 'imap', 'png', 'plain', 'dia', 'mp', 'svg', 'dot'。
 
简单例子:
 
#!/usr/bin/python
#-*- encoding=gbk -*-
import yapgvb

if __name__ == "__main__":
        g = yapgvb.Graph()
       # 添加节点
        Root = g.add_node("Root",shape="circle")
        ylj =g.add_node("ylj",shape="circle")
        zjl =g.add_node("zjl",shape="circle")
        hrh =g.add_node("hrh",shape="circle")
        zlq =g.add_node("zlq",shape="circle")
        tyl =g.add_node("tyl",shape="circle")
        gzl =g.add_node("gzl",shape="circle")
        zzl =g.add_node("zzl",shape="circle")
        pdh =g.add_node("pdh",shape="circle")
        zy  =g.add_node("zy ",shape="circle")
        hh  =g.add_node("hh",shape="circle")
        # 添加边
        Root >> ylj # 边 root --> ylj
        Root >> zjl
        hrh >> ylj
        hh  << zy
        zy  >> tyl
        tyl << hrh
        hrh >> zlq
        pdh << hrh
        zzl >> ylj
        ylj << gzl
        gzl >> hrh
        Root.root =True
        #设定板式
        g.layout("neato")
        #输出文件
        g.render("../../htdocs/images/temp/test_circo.svg")
输出 ../../htdocs/images/temp/test_circo.svg 文件可以用svgviewer浏览。
 
支持的排版样式有:
 
neato
 
 
 
dot
 
 
 
fdp
 
 
 
twopi
 
 
 
circo
 
 
 
yapgvb的安装比较麻烦。总的来说,需要安装Graphviz ,再安装 boost.python,然后再安装yapgvb模块。graphviz,yapgvb可以在sourceforge上下载,boost.python在boost官方网站有链接。

你可能感兴趣的:(python,Graphviz,boost,关系网,yapgvb)