Python调用graphviz绘制结构化图形网络示例
作者:晓东邪 时间:2021-09-15 19:06:49
首先要下载: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
标签:Python,graphviz,结构化,图形
0
投稿
猜你喜欢
扩展性很好的一个分页存储过程分享
2011-11-03 17:04:16
Linux 自动备份oracle数据库详解
2023-07-14 08:11:41
基于python实现图片转字符画代码实例
2023-05-17 01:53:37
百分百弹窗
2013-08-07 07:41:06
Windows下MySQL安全权限设置方法
2009-07-30 08:32:00
ASP用csDrawGraph组件制作饼图、柱状图
2008-04-25 22:58:00
Python操作MySQL模拟银行转账
2022-05-19 21:23:11
一个asp版的xheditor上传图片服务器端文件
2009-12-21 14:18:00
prototype.js常用函数及其用法
2007-11-21 20:47:00
如何做一个优秀的设计?
2009-02-04 15:38:00
js星级评分代码
2008-05-02 21:07:00
python图形用户接口实例详解
2023-10-17 21:05:20
python基础之集合
2022-04-21 05:03:50
CSS布局之浮动(一)两列布局
2008-08-18 21:24:00
Python爬虫小技巧之伪造随机的User-Agent
2023-11-02 21:32:41
使用Python和Prometheus跟踪天气的使用方法
2021-05-15 14:31:05
Django的restframework接口框架自定义返回数据格式的示例详解
2023-06-13 05:13:51
跨平台、多浏览器页面测试
2008-06-24 11:54:00
关于交互设计在QQ秀赠送流程中的优化
2009-06-11 12:30:00
asp精妙的SQL语句例子
2008-03-04 17:42:00