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 相关文章推荐
pydev使用wxpython找不到路径的解决方法
Feb 10 Python
python迭代器实例简析
Sep 25 Python
django之常用命令详解
Jun 30 Python
python列表的增删改查实例代码
Jan 30 Python
jupyter notebook引用from pyecharts.charts import Bar运行报错
Apr 23 Python
mac 安装python网络请求包requests方法
Jun 13 Python
python中如何使用分步式进程计算详解
Mar 22 Python
如何不用安装python就能在.NET里调用Python库
Jul 12 Python
python 实现return返回多个值
Nov 19 Python
Python模块的制作方法实例分析
Dec 21 Python
pytorch:torch.mm()和torch.matmul()的使用
Dec 27 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
Nov 19 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
DEDECMS首页调用图片集里的多张图片
2015/06/05 PHP
yii2.0实现创建简单widgets示例
2016/07/18 PHP
Thinkphp微信公众号支付接口
2016/08/04 PHP
javascript 函数式编程
2007/08/16 Javascript
js相册效果代码(点击创建即可)
2013/04/16 Javascript
JS中如何判断传过来的JSON数据中是否存在某字段
2014/08/18 Javascript
JavaScript中的包装对象介绍
2015/01/27 Javascript
JavaScript针对网页节点的增删改查用法实例
2015/02/02 Javascript
Javascript使用function创建类的两种方法(推荐)
2016/11/19 Javascript
React教程之Props验证的具体用法(Props Validation)
2017/09/04 Javascript
《javascript少儿编程》location术语总结
2018/05/27 Javascript
javascript闭包的使用之按钮切换功能
2018/08/30 Javascript
构建大型 Vue.js 项目的10条建议(小结)
2019/11/14 Javascript
[43:41]OG vs Newbee 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
python海龟绘图实例教程
2014/07/24 Python
Python实现公历(阳历)转农历(阴历)的方法示例
2017/08/22 Python
Python实现矩阵加法和乘法的方法分析
2017/12/19 Python
windows10下python3.5 pip3安装图文教程
2018/04/02 Python
python实现杨氏矩阵查找
2019/03/02 Python
python笔记之mean()函数实现求取均值的功能代码
2019/07/05 Python
如何在Python 游戏中模拟引力
2020/03/27 Python
django 解决model中类写不到数据库中,数据库无此字段的问题
2020/05/20 Python
突袭HTML5之Javascript API扩展3—本地存储全新体验
2013/01/31 HTML / CSS
用HTML5制作烟火效果的教程
2015/05/12 HTML / CSS
导出HTML5 Canvas图片并上传服务器功能
2019/08/16 HTML / CSS
俄罗斯童装网上商店:BebaKids
2020/06/06 全球购物
彪马香港官方网上商店:PUMA香港
2020/12/06 全球购物
strstr()的简单实现
2013/09/26 面试题
办公室领导干部作风整顿个人整改措施
2014/09/17 职场文书
村委会贫困证明范文
2014/09/21 职场文书
销售员未完成销售业绩的检讨书
2014/10/12 职场文书
工伤私了协议书范本
2014/11/24 职场文书
2014年人大工作总结
2014/12/10 职场文书
呼啸山庄读书笔记
2015/06/29 职场文书
2016年乡镇综治宣传月活动总结
2016/03/16 职场文书
提高系统的吞吐量解决数据库重复写入问题
2022/04/23 MySQL