Python调用graphviz绘制结构化图形网络示例
更新时间:2019年11月22日 11:05:54 作者:晓东邪
今天小编就为大家分享一篇Python调用graphviz绘制结构化图形网络示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
首先要下载:Graphviz - Graph Visualization Software
安装完成后将安装目录的bin 路径加到系统路径中,有时候需要重启电脑。
然后:
pip install graphviz import graphviz as gz
有向图
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
来个随机点的复杂点的图
import random dot = gz.Digraph() for i in range(10): dot.node('%s' % i, 'Test%s' % i) dot.edges([str(random.randint(10, 99)) for i in range(10)]) dot
绘制神经网络简易图
def neural_graph(inp=3, hide=(10, ), outp=3, inp_label='input', hide_label='hide', outp_label='output', dropout=True, style='h', size='2, 1'): """ 绘制简易神经网络图(有向图) :param inp: 输入神经元个数 :param hide: 隐藏层神经元个数, 可迭代数组 :param outp: 输出神经元个数 :param inp_label: 输入名称显示 :param hide_label: 隐藏层名称显示 :param outp_label: 输出名称显示 :param dropout: 是否全连接 :param style: 水平或垂直显示, 可选项为 'h', 'v' :param size: 图像显示大小 :return: 有向图 """ dot = gz.Digraph(name='neural network') dot.attr(size=size) if style == 'v': dot.attr(rankdir='LR') def draw(enter, exit, label1, label2): for i in range(enter): for j in range(exit): if dropout: if random.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) for index, (i, j) in enumerate(zip(hide[:-1], hide[1:])): if index == 0: draw(i, j, inp_label, hide_label+str(index)) elif index == 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)) return dot #其他运行方式 #return dot.view()
以上这篇Python调用graphviz绘制结构化图形网络示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Python+Selenium实现短视频自动上传与发布的实践
本文主要介绍了Python+Selenium实现短视频自动上传与发布的实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-04-04Python pypinyin注音库轻松丝滑实现汉字转换成拼音
pypinyin 库,能像功夫熊猫那样,轻松、快捷地帮你把汉字转换成拼音,有了 pypinyin,不仅可以节省宝贵的时间,还可以更准确地展示中文字符的读音,使文化交流更为顺畅,本文带大家一起探索 pypinyin 库的魅力2024-01-01Python中torch.load()加载模型以及其map_location参数详解
torch.load()作用用来加载torch.save()保存的模型文件,下面这篇文章主要给大家介绍了关于Python中torch.load()加载模型以及其map_location参数的相关资料,需要的朋友可以参考下2022-09-09Python第三方库xlrd/xlwt的安装与读写Excel表格
最近开始学习python,想做做简单的自动化测试,需要读写excel,于是就接触到了Python的第三方库xlrd和xlwt,下面这篇文章就给大家主要介绍了Python中第三方库xlrd/xlwt的安装与读写Excel表格的方法,需要的朋友可以参考借鉴。2017-01-01
最新评论