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 相关文章推荐
Python解析网页源代码中的115网盘链接实例
Sep 30 Python
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
Apr 28 Python
Python下实现的RSA加密/解密及签名/验证功能示例
Jul 17 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
Jul 26 Python
Python递归函数实例讲解
Feb 27 Python
解决python flask中config配置管理的问题
Jul 26 Python
基于python全局设置id 自动化测试元素定位过程解析
Sep 04 Python
python自动分箱,计算woe,iv的实例代码
Nov 22 Python
Pandas+Matplotlib 箱式图异常值分析示例
Dec 09 Python
Python实现子类调用父类的初始化实例
Mar 12 Python
TensorFlow实现模型断点训练,checkpoint模型载入方式
May 26 Python
只需要100行Python代码就可以实现的贪吃蛇小游戏
May 27 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安全配置方法
2007/06/16 PHP
CMS中PHP判断系统是否已经安装的方法示例
2014/07/26 PHP
PHP利用Cookie设置用户30分钟未操作自动退出功能
2017/07/03 PHP
实例讲解PHP表单验证功能
2019/02/15 PHP
js option删除代码集合
2008/11/12 Javascript
DOM 中的事件处理介绍
2012/01/18 Javascript
返回上一页并自动刷新的JavaScript代码
2014/02/19 Javascript
jQuery之ajax删除详解
2014/02/27 Javascript
js代码验证手机号码和电话号码是否合法
2015/07/30 Javascript
easyui combobox开启搜索自动完成功能的实例代码
2016/11/08 Javascript
AngularJS中isolate scope的用法分析
2016/11/22 Javascript
JS产生随机数的用法小结
2016/12/10 Javascript
JS 实现banner图片轮播效果(鼠标事件)
2017/08/04 Javascript
详解JS构造函数中this和return
2017/09/16 Javascript
vue watch监听对象及对应值的变化详解
2018/02/24 Javascript
vue-cli2.x项目优化之引入本地静态库文件的方法
2018/06/19 Javascript
JS实现快递单打印功能【推荐】
2018/06/21 Javascript
详解vscode中vue代码颜色插件
2018/10/11 Javascript
Vue.js结合bootstrap前端实现分页和排序效果
2018/12/29 Javascript
Javascript和jquery在selenium的使用过程
2019/10/31 jQuery
[47:42]完美世界DOTA2联赛PWL S2 GXR vs Ink 第一场 11.19
2020/11/20 DOTA
简单的Python抓taobao图片爬虫
2014/10/26 Python
python中随机函数random用法实例
2015/04/30 Python
Python简单获取网卡名称及其IP地址的方法【基于psutil模块】
2018/05/24 Python
TensorFlow 滑动平均的示例代码
2018/06/19 Python
Python高级特性与几种函数的讲解
2019/03/08 Python
Python Django切换MySQL数据库实例详解
2019/07/16 Python
Python word文本自动化操作实现方法解析
2020/11/05 Python
css3实现文字首尾衔接跑马灯的示例代码
2020/10/16 HTML / CSS
HTML5的革新 结构之美
2011/06/20 HTML / CSS
南非最受欢迎的时尚品牌:MRP
2016/09/18 全球购物
幼儿园运动会加油词
2014/02/14 职场文书
自荐信的基本格式
2014/02/22 职场文书
贫困证明模板(3篇)
2014/09/16 职场文书
医德医风自我评价
2014/09/19 职场文书
实习生矿工检讨书
2014/10/13 职场文书