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实现全角半角转换的方法
Aug 18 Python
用Python将IP地址在整型和字符串之间轻松转换
Mar 22 Python
python爬虫_自动获取seebug的poc实例
Aug 05 Python
Python3实现获取图片文字里中文的方法分析
Dec 13 Python
python实现两张图片的像素融合
Feb 23 Python
解决django中ModelForm多表单组合的问题
Jul 18 Python
python自动化工具之pywinauto实例详解
Aug 26 Python
Python集合操作方法详解
Feb 09 Python
jenkins+python自动化测试持续集成教程
May 12 Python
Python网络爬虫四大选择器用法原理总结
Jun 01 Python
Python实现简繁体转换
Jun 07 Python
Python 类,对象,数据分类,函数参数传递详解
Sep 25 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
CodeIgniter实现更改view文件夹路径的方法
2014/07/04 PHP
thinkPHP中多维数组的遍历方法
2016/01/09 PHP
PHP自定义函数格式化json数据示例
2016/09/14 PHP
微信公众号OAuth2.0网页授权问题浅析
2017/01/21 PHP
禁止选中文字兼容IE、Chrome、FF等
2013/09/04 Javascript
javascript弹出层输入框(示例代码)
2013/12/11 Javascript
jquery.cookie.js用法实例详解
2015/12/25 Javascript
JS随机洗牌算法之数组随机排序
2016/03/23 Javascript
JS学习之表格的排序简单实例
2016/05/16 Javascript
老生常谈JavaScript数组的用法
2016/06/10 Javascript
JavaScript-html标题滚动效果的简单实现
2016/09/08 Javascript
Vue.js搭建移动端购物车界面
2020/06/28 Javascript
vue基于element的区间选择组件
2018/09/07 Javascript
react配置antd按需加载的使用
2019/02/11 Javascript
ES6基础之 Promise 对象用法实例详解
2019/08/22 Javascript
vue实现表单录入小案例
2019/09/27 Javascript
小程序api实现promise封装过程解析
2019/11/21 Javascript
以windows service方式运行Python程序的方法
2015/06/03 Python
python中pygame针对游戏窗口的显示方法实例分析(附源码)
2015/11/11 Python
Python 中迭代器与生成器实例详解
2017/03/29 Python
微信跳一跳python辅助软件思路及图像识别源码解析
2018/01/04 Python
python使用pandas实现数据分割实例代码
2018/01/25 Python
Python3.6笔记之将程序运行结果输出到文件的方法
2018/04/22 Python
Python+OpenCV实现图像融合的原理及代码
2018/12/03 Python
Python 实现自动获取种子磁力链接方式
2020/01/16 Python
网页中的电话号码如何实现一键直呼效果_附示例
2016/03/15 HTML / CSS
拉夫劳伦爱尔兰官方网站:Ralph Lauren爱尔兰
2020/04/10 全球购物
查询优化的一般准则有哪些
2015/03/08 面试题
2014年幼儿园植树节活动方案
2014/03/02 职场文书
卫生厅领导班子党的群众路线教育实践活动整改措施
2014/09/20 职场文书
党支部四风整改方案
2014/10/25 职场文书
先进集体事迹材料范文
2014/12/25 职场文书
工程进度款催款函
2015/06/24 职场文书
导游词之山东八仙过海景区
2019/11/11 职场文书
分享几个JavaScript运算符的使用技巧
2021/04/24 Javascript
《王国之心》迎来了发售的20周年, 野村哲发布贺图
2022/04/11 其他游戏