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


Posted in Python onNovember 22, 2019

首先要下载: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绘制结构化图形网络示例

以上这篇Python调用graphviz绘制结构化图形网络示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Win7上搭建Cocos2d-x 3.1.1开发环境
Jul 03 Python
Python模拟登陆实现代码
Jun 14 Python
python使用正则表达式的search()函数实现指定位置搜索功能
Nov 10 Python
Python排序搜索基本算法之归并排序实例分析
Dec 08 Python
python使用Pycharm创建一个Django项目
Mar 05 Python
详解Python 协程的详细用法使用和例子
Jun 15 Python
Python进阶:生成器 懒人版本的迭代器详解
Jun 29 Python
python使用rsa非对称加密过程解析
Dec 28 Python
python实现简单坦克大战
Mar 27 Python
Matplotlib 绘制饼图解决文字重叠的方法
Jul 24 Python
Django Paginator分页器的使用示例
Jun 23 Python
Django框架之路由用法
Jun 10 Python
python实现简单图书管理系统
Nov 22 #Python
使用Python生成200个激活码的实现方法
Nov 22 #Python
Python的几种主动结束程序方式
Nov 22 #Python
python实现超市商品销售管理系统
Nov 22 #Python
python实现二分类的卡方分箱示例
Nov 22 #Python
python的等深分箱实例
Nov 22 #Python
基于python实现学生信息管理系统
Nov 22 #Python
You might like
php实现Session存储到Redis
2015/11/11 PHP
详解WordPress中用于更新和获取用户选项数据的PHP函数
2016/03/08 PHP
smarty模板数学运算示例
2016/12/11 PHP
javascript获取鼠标点击元素对象(示例代码)
2013/12/20 Javascript
如何用jquery控制表格奇偶行及活动行颜色
2014/04/20 Javascript
完美兼容各大浏览器获取HTTP_REFERER方法总结
2014/06/24 Javascript
初步使用bootstrap快速创建页面
2016/03/03 Javascript
js滚轮事件兼容性问题需要注意哪些
2016/11/15 Javascript
在 Typescript 中使用可被复用的 Vue Mixin功能
2018/04/17 Javascript
JavaScript递归函数解“汉诺塔”算法代码解析
2018/07/05 Javascript
Jquery 动态添加元素并添加点击事件实现过程解析
2019/10/12 jQuery
JavaScript闭包原理与用法学习笔记
2020/05/29 Javascript
javascript实现支付宝滑块验证码效果
2020/07/24 Javascript
[01:08:48]LGD vs OG 2018国际邀请赛淘汰赛BO3 第三场 8.25
2018/08/29 DOTA
使用python实现拉钩网上的FizzBuzzWhizz问题示例
2014/05/05 Python
Python 检查数组元素是否存在类似PHP isset()方法
2014/10/14 Python
python Matplotlib画图之调整字体大小的示例
2017/11/20 Python
聊聊Python中的pypy
2018/01/12 Python
python networkx 包绘制复杂网络关系图的实现
2019/07/10 Python
详解Matplotlib绘图之属性设置
2019/08/23 Python
Python编写打字训练小程序
2019/09/26 Python
python实现最速下降法
2020/03/24 Python
Python3爬虫中Splash的知识总结
2020/07/10 Python
Python学习笔记之装饰器
2020/08/06 Python
Python filter过滤器原理及实例应用
2020/08/18 Python
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
2021/01/27 Python
布局和排版教程 纯css3实现图片三角形排列
2014/10/17 HTML / CSS
HTML5 Canvas基本线条绘制的实例教程
2016/03/17 HTML / CSS
2014党员四风对照检查材料思想汇报
2014/09/17 职场文书
2014年党风建设工作总结
2014/11/19 职场文书
预备党员转正材料
2014/12/19 职场文书
爸爸的三轮车观后感
2015/06/16 职场文书
2016年主题党日活动总结
2016/04/05 职场文书
Go各时间字符串使用解析
2021/04/02 Golang
Win11怎么启动任务管理器?Win11启动任务管理器的几种方法
2021/11/23 数码科技
华为HarmonyOS3.0强在哪? 看看鸿蒙3.0这7个小功能
2023/01/09 数码科技