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

Python调用graphviz绘制结构化图形网络示例

无向图


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

Python调用graphviz绘制结构化图形网络示例

来个随机点的复杂点的图


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

Python调用graphviz绘制结构化图形网络示例

绘制神经网络简易图


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调用graphviz绘制结构化图形网络示例

Python调用graphviz绘制结构化图形网络示例

Python调用graphviz绘制结构化图形网络示例

Python调用graphviz绘制结构化图形网络示例

Python调用graphviz绘制结构化图形网络示例

来源:https://blog.csdn.net/xiaodongxiexie/article/details/79643636

标签:Python,graphviz,结构化,图形
0
投稿

猜你喜欢

  • XML入门精解之文件格式定义

    2008-02-25 13:57:00
  • Python检测字符串中是否包含某字符集合中的字符

    2023-09-08 10:44:30
  • PyCharm 常用快捷键和设置方法

    2022-04-09 01:40:59
  • MySQL 使用SQL语句修改表名的实现

    2024-01-17 09:14:31
  • python 19个值得学习的编程技巧

    2021-09-21 22:42:30
  • JS比较两个数值的大小实例

    2024-04-17 10:41:03
  • Python简单实现自动删除目录下空文件夹的方法

    2021-07-28 20:28:39
  • 在python 中实现运行多条shell命令

    2023-07-30 10:40:11
  • Bootstrap媒体对象的实现

    2024-04-22 22:42:23
  • opencv 图像加法与图像融合的实现代码

    2021-07-20 14:57:30
  • python实现读取excel表格详解方法

    2023-03-12 04:48:37
  • 用python实现英文字母和相应序数转换的方法

    2023-11-20 13:30:10
  • php自动注册登录验证机制实现代码

    2024-04-30 08:48:12
  • Python实现动态给类和对象添加属性和方法操作示例

    2022-05-22 10:58:36
  • 70+漂亮且极具亲和力的导航菜单设计推荐[译]

    2009-02-23 13:15:00
  • php 备份数据库代码(生成word,excel,json,xml,sql)

    2024-06-05 09:52:42
  • Python 蚁群算法详解

    2023-01-03 03:46:25
  • css教程–十步学会用css建站(全)[翻译]

    2008-06-05 18:35:00
  • 简单实例解释Oracle分页查询

    2023-07-16 00:54:03
  • Pandas操作CSV文件的读写实现方法

    2022-05-12 09:48:05
  • asp之家 网络编程 m.aspxhome.com