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 25 Python
Python采用socket模拟TCP通讯的实现方法
Nov 19 Python
python实现TCP服务器端与客户端的方法详解
Apr 30 Python
python常见排序算法基础教程
Apr 13 Python
Python新手入门最容易犯的错误总结
Apr 24 Python
python实现xlsx文件分析详解
Jan 02 Python
Python将多个excel文件合并为一个文件
Jan 03 Python
Python开发虚拟环境使用virtualenvwrapper的搭建步骤教程图解
Sep 19 Python
python默认参数调用方法解析
Feb 09 Python
如何用Matplotlib 画三维图的示例代码
Jul 28 Python
Python配置pip国内镜像源的实现
Aug 20 Python
Python爬取用户观影数据并分析用户与电影之间的隐藏信息!
Jun 29 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
1982年日本摄影师镜头下的中国孩子 那无忧无虑的童年
2020/03/12 杂记
php curl 获取https请求的2种方法
2015/04/27 PHP
去除链接虚线全面分析总结
2006/08/15 Javascript
TBCompressor js代码压缩
2011/01/05 Javascript
理清apply(),call()的区别和关系
2011/08/14 Javascript
详解JavaScript编程中的数组结构
2015/10/24 Javascript
简单介绍jsonp 使用小结
2016/01/27 Javascript
如何使用Bootstrap的modal组件自定义alert,confirm和modal对话框
2016/03/01 Javascript
JavaScript ES6中CLASS的使用详解
2016/11/22 Javascript
Bootstrap模态框使用详解
2017/02/15 Javascript
Vue2学习笔记之请求数据交互vue-resource
2017/02/23 Javascript
Vue 前端实现登陆拦截及axios 拦截器的使用
2019/07/17 Javascript
layui字体图标 loading图标静止不旋转的解决方法
2019/09/23 Javascript
[02:40]DOTA2超级联赛专访430 从小就爱玩对抗性游戏
2013/06/18 DOTA
[02:37]2015国际邀请赛选手档案—LGD.Xiao8
2015/07/28 DOTA
python连接oracle数据库实例
2014/10/17 Python
Python实现大文件排序的方法
2015/07/10 Python
Python3解决棋盘覆盖问题的方法示例
2017/12/07 Python
Python自动化运维_文件内容差异对比分析
2017/12/13 Python
用python 批量更改图像尺寸到统一大小的方法
2018/03/31 Python
pandas数据清洗,排序,索引设置,数据选取方法
2018/05/18 Python
解决pycharm界面不能显示中文的问题
2018/05/23 Python
使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友
2019/06/05 Python
python正则表达式匹配不包含某几个字符的字符串方法
2019/07/23 Python
基于Python和C++实现删除链表的节点
2020/07/06 Python
解决Python3.8运行tornado项目报NotImplementedError错误
2020/09/02 Python
导出HTML5 Canvas图片并上传服务器功能
2019/08/16 HTML / CSS
SQL Server笔试题
2012/01/10 面试题
服装行业创业计划书范文
2014/02/05 职场文书
节能减排倡议书
2014/04/15 职场文书
人力资源管理专业应届生求职信
2014/04/24 职场文书
暑期学习心得体会
2014/09/02 职场文书
大学生党员学习焦裕禄精神思想汇报
2014/09/10 职场文书
2015年小学语文教师工作总结
2015/10/23 职场文书
导游词之吉林花园山
2019/10/17 职场文书
了解Redis常见应用场景
2021/06/23 Redis