Python调用graphviz绘制结构化图形网络示例
作者:晓东邪 发布时间:2021-09-15 19:06:49
标签: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()
来源:https://blog.csdn.net/xiaodongxiexie/article/details/79643636
0
投稿
猜你喜欢
- 任何东西只要跟Google有关就总能给我们带来点儿惊喜,2008年9月2日发布的Google Chrome浏览器也不例外。Google Ch
- IE 的弹窗常用的有两种,不外乎是 window.open 与 window.showModalDialog,前者兼容性好,后者
- 这篇文章所说的视觉元素是指:在一个网站中除去内容(文本、图片、视频、音频等)之外的一些元素。比如图标,背景色,以及背景图案。视觉元素的设计是
- 前言动态生成表格是前端开发中非常重要的内容,常常是后端返回数据(大多是json类型),我们前端通过js循环来动态添加,所以这部分内容是十分重
- 在ASP中加密方法有对应的解密方法好象不多,现在根据前辈资料整理出在asp中加密与解密函数,根据RSA 算法实现的。什么是RSA?
- 一、DAFONT 英文字体很多,分类很详细,字体多数都是免费,唯一的缺点中文字体少了些.http://www.dafont.co
- 一、线性回归的理论1)线性回归的基本概念线性回归是一种有监督的学习算法,它介绍的自变量的和因变量的之间的线性的相关关系,分为一元线性回归和多
- 一看,C盘只有不到2M可用空间,一查原因,sqlserver安装路径下的log目录文件占了好大,5G多, 于是上网搜了下,解决了: 把与sq
- 在PHP中,有两种包含外部文件的方式,分别是include和require。他们之间有什么不同呢?如果文件不存在或发生了错误,require
- Acunetix Web Vulnerability Scanner 是一款国外产的及其优秀的扫描工具,可以帮忙挖掘网站内的诸多漏洞,包括常
- 1、画直线的函数是cv2.linecv2.line函数语法:cv2.line(img,start_point,end_point,color
- Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime。time模块我在之前的文章已经有所介绍,它提
- 图片外框特征参数:①dashed:虚线 ②dotted:点虚线 ③solid:实线 ④double:双线 ⑤groove:沟槽状 ⑥ridg
- 一直一来,我都在想办法看能不能用 col 控制表格的列隐藏,但是无奈,FF对COL支持不够好(其实是以前没有发现COL在FF下要怎么弄)。今
- 一般我们能过VS2005的SQL explorer来添加一个本地的MDF文件。也许你可能会出现下面这个问题:Exception Detail
- ASP链接MSSQL2005的链接字符串如下:Provider=SQLNCLI;Server=.\SQLEXPRESS;Database=m
- 欣赏上一篇:用画为5.12地震受灾同胞们祈福 今年我们的祖国多灾多难 雪灾的阴影还没散去又发生了地震。中国插画 * 举办5.12地震祈幅绘画活
- CSS Sprites 简介:通常被意译为“CSS图像拼合”或“CSS贴图定位”。CSS Sprites并不是一门新技术,目前它已经在网页开
- 首先下载搜索图标:控件中的搜索图标下载地址:http://www.easyicon.net/1183666-Search_icon.html
- <?php// 使用Memache 作为进程锁 class lock_processlock{// key 的前缀protected