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中基于生成器的状态机
Apr 13 Python
python3实现短网址和数字相互转换的方法
Apr 28 Python
Python实现的中国剩余定理算法示例
Aug 05 Python
浅谈pandas中shift和diff函数关系
Apr 08 Python
python 编写简单网页服务器的实例
Jun 01 Python
用python代码将tiff图片存储到jpg的方法
Dec 04 Python
浅谈Django+Gunicorn+Nginx部署之路
Sep 11 Python
Pycharm小白级简单使用教程
Jan 08 Python
python中format函数如何使用
Jun 22 Python
keras做CNN的训练误差loss的下降操作
Jun 22 Python
TensorFlow中tf.batch_matmul()的用法
Jun 02 Python
Elasticsearch 基本查询和组合查询
Apr 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
PHP图形操作之Jpgraph学习笔记
2015/12/25 PHP
页面调用单个swf文件,嵌套出多个方法。
2011/11/21 Javascript
jQuery 翻牌或百叶窗效果(内容三秒自动切换)
2012/06/14 Javascript
JS 控件事件小结
2012/10/31 Javascript
Javascript变量作用域详解
2013/12/06 Javascript
告诉你什么是javascript的回调函数
2014/09/04 Javascript
常用的JQuery函数及功能小结
2016/03/24 Javascript
jQuery实现最简单的切换图效果【可兼容IE6、火狐、谷歌、opera等】
2016/09/04 Javascript
将html页面保存成图片,图片写入pdf的实现方法(推荐)
2016/09/17 Javascript
JavaScript省市级联下拉菜单实例
2017/02/14 Javascript
bootstrap table动态加载数据示例代码
2017/03/25 Javascript
使用JavaScript根据图片获取条形码的方法
2017/07/04 Javascript
Vue仿支付宝支付功能
2018/05/25 Javascript
jQuery轮播图实例详解
2018/08/15 jQuery
vue2.0自定义指令示例代码详解
2019/04/25 Javascript
ios中视频的最后一桢问题解决
2019/05/14 Javascript
基于layui table返回的值的多级嵌套的解决方法
2019/09/19 Javascript
JavaScript常用工具函数汇总(浏览器环境)
2020/09/17 Javascript
Python多线程编程(一):threading模块综述
2015/04/05 Python
python中的闭包用法实例详解
2015/05/05 Python
Python脚本实现自动将数据库备份到 Dropbox
2017/02/06 Python
浅析pandas 数据结构中的DataFrame
2019/10/12 Python
python被修饰的函数消失问题解决(基于wraps函数)
2019/11/04 Python
wxPython电子表格功能wx.grid实例教程
2019/11/19 Python
Python flask框架端口失效解决方案
2020/06/04 Python
CSS3色彩模式有哪些?CSS3 HSL色彩模式的定义
2016/04/26 HTML / CSS
夏洛特和乔治婴儿和儿童时装精品店:Charlotte and George
2018/06/06 全球购物
Hotels.com印度:酒店预订
2019/05/11 全球购物
索引覆盖(Index Covering)查询含义
2012/02/18 面试题
第一批党的群众路线教育实践活动工作总结
2014/03/03 职场文书
《白鹅》教学反思
2014/04/13 职场文书
物业公司的岗位任命书
2014/06/06 职场文书
公司租房协议书范本
2014/10/08 职场文书
证婚人致辞精选
2015/07/28 职场文书
如何写好开幕词?
2019/06/24 职场文书
攻击最高的10只幽灵系神奇宝贝,坚盾剑怪排第一,第五最为可怕
2022/03/18 日漫