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中的__getitem__专有方法
Jun 27 Python
详解Python中contextlib上下文管理模块的用法
Jun 28 Python
python图片验证码生成代码
Jul 02 Python
PyQt 线程类 QThread使用详解
Jul 16 Python
利用Python查看目录中的文件示例详解
Aug 28 Python
CentOS6.9 Python环境配置(python2.7、pip、virtualenv)
May 06 Python
Python IDE Pycharm中的快捷键列表用法
Aug 08 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
Aug 21 Python
Python代理IP爬虫的新手使用教程
Sep 05 Python
python验证码图片处理(二值化)
Nov 01 Python
Python中关于logging模块的学习笔记
Jun 03 Python
浅谈Python爬虫原理与数据抓取
Jul 21 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
模拟OICQ的实现思路和核心程序(一)
2006/10/09 PHP
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
2010/04/07 PHP
用PHP实现的四则运算表达式计算实现代码
2011/08/02 PHP
解析thinkphp基本配置 convention.php
2013/06/18 PHP
初识PHP
2014/09/28 PHP
php实现通用的信用卡验证类
2015/03/24 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
Laravel 自动生成验证的实例讲解:login / logout
2019/10/14 PHP
运用jquery实现table单双行不同显示并能单行选中
2009/07/25 Javascript
jQuery提交表单ajax查询实例代码
2012/10/07 Javascript
js进行表单验证实例分析
2015/02/10 Javascript
jQuery表格行上移下移和置顶的实现方法
2015/10/08 Javascript
JSON+Jquery省市区三级联动
2016/01/13 Javascript
第九章之路径分页标签与徽章组件
2016/04/25 Javascript
jQuery双向列表选择器DIV模拟版
2016/11/01 Javascript
手把手教你搭建ES6的开发运行环境
2017/07/11 Javascript
vue.js框架实现表单排序和分页效果
2017/08/09 Javascript
angular4 如何在全局设置路由跳转动画的方法
2017/08/30 Javascript
浅谈webpack打包过程中因为图片的路径导致的问题
2018/02/21 Javascript
iview table高度动态设置方法
2018/03/14 Javascript
web3.js增加eth.getRawTransactionByHash(txhash)方法步骤
2018/03/15 Javascript
JS实现将对象转化为数组的方法分析
2019/01/21 Javascript
使用mixins实现elementUI表单全局验证的解决方法
2019/04/02 Javascript
JavaScript实现随机点名器
2020/03/25 Javascript
vue 实现用户登录方式的切换功能
2020/04/14 Javascript
Python画图学习入门教程
2016/07/01 Python
分数霸榜! python助你微信跳一跳拿高分
2018/01/08 Python
pytorch 查看cuda 版本方式
2020/06/23 Python
html5弹跳球示例代码
2013/07/23 HTML / CSS
html5 Web SQL Database 之事务处理函数transaction与executeSQL解析
2013/11/07 HTML / CSS
GIVENCHY纪梵希官方旗舰店:高定彩妆与贵族护肤品
2018/04/16 全球购物
世界上最大的在线汽车租赁预订平台:Rentalcars.com(支持中文)
2018/10/12 全球购物
State Cashmere官网:半零售价可持续蒙古羊绒
2020/02/26 全球购物
小学班主任自我评价
2015/03/11 职场文书
给下属加薪申请报告
2015/05/15 职场文书
刘胡兰观后感
2015/06/16 职场文书