Python调用graphviz绘制结构化图形网络示例
首先要下载:Graphviz-GraphVisualizationSoftware
安装完成后将安装目录的bin路径加到系统路径中,有时候需要重启电脑。
然后:
pipinstallgraphviz importgraphvizasgz
有向图
dot=gz.Digraph() dot.node('1','Test1') dot.node('2','Test2') dot.node('3','Test3') dot.node('4','Test4') dot.edges(['12','23','34','24']) dot
无向图
dot=gz.Graph() dot.node('1','Test1') dot.node('2','Test2') dot.node('3','Test3') dot.node('4','Test4') dot.edges(['12','23','34','24']) dot
来个随机点的复杂点的图
importrandom dot=gz.Digraph() foriinrange(10): dot.node('%s'%i,'Test%s'%i) dot.edges([str(random.randint(10,99))foriinrange(10)]) dot
绘制神经网络简易图
defneural_graph(inp=3,hide=(10,),outp=3,inp_label='input',hide_label='hide',outp_label='output',dropout=True,style='h',size='2,1'): """ 绘制简易神经网络图(有向图) :paraminp:输入神经元个数 :paramhide:隐藏层神经元个数,可迭代数组 :paramoutp:输出神经元个数 :paraminp_label:输入名称显示 :paramhide_label:隐藏层名称显示 :paramoutp_label:输出名称显示 :paramdropout:是否全连接 :paramstyle:水平或垂直显示,可选项为'h','v' :paramsize:图像显示大小 :return:有向图 """ dot=gz.Digraph(name='neuralnetwork') dot.attr(size=size) ifstyle=='v': dot.attr(rankdir='LR') defdraw(enter,exit,label1,label2): foriinrange(enter): forjinrange(exit): ifdropout: ifrandom.randint(0,max(enter,exit)): dot.edge('%s%s'%(label1,i),'%s%s'%(label2,j)) else: dot.edge('%s%s'%(label1,i),'%s%s'%(label2,j)) hide=list(hide) hide.insert(0,inp) hide.append(outp) forindex,(i,j)inenumerate(zip(hide[:-1],hide[1:])): ifindex==0: draw(i,j,inp_label,hide_label+str(index)) elifindex==len(hide)-2: draw(i,j,hide_label+str(index-1),outp_label) else: draw(i,j,hide_label+str(index-1),hide_label+str(index)) returndot #其他运行方式 #returndot.view()
以上这篇Python调用graphviz绘制结构化图形网络示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。