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的轻便web框架Bottle
Apr 08 Python
分享Python开发中要注意的十个小贴士
Aug 30 Python
Django跨域请求问题的解决方法示例
Jun 16 Python
Python基于jieba库进行简单分词及词云功能实现方法
Jun 16 Python
Python代码生成视频的缩略图的实例讲解
Dec 22 Python
python通用读取vcf文件的类(复制粘贴即可用)
Feb 29 Python
linux 下selenium chrome使用详解
Apr 02 Python
Keras设定GPU使用内存大小方式(Tensorflow backend)
May 22 Python
完美解决ARIMA模型中plot_acf画不出图的问题
Jun 04 Python
python按顺序重命名文件并分类转移到各个文件夹中的实现代码
Jul 21 Python
用python批量解压带密码的压缩包
May 31 Python
Python何绘制带有背景色块的折线图
Apr 23 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 传值赋值与引用赋值的区别
2010/12/29 PHP
PHP自动生成缩略图函数的源码示例
2019/03/18 PHP
JavaScript中的私有/静态属性介绍
2012/07/26 Javascript
jquery+html5烂漫爱心表白动画代码分享
2015/08/24 Javascript
基于replaceChild制作简单的吞噬特效
2015/09/21 Javascript
移动端翻页插件dropload.js(支持Zepto和jQuery)
2016/07/27 Javascript
js replace(a,b)之替换字符串中所有指定字符的方法
2016/08/17 Javascript
微信小程序动态显示项目倒计时效果
2017/06/13 Javascript
React Native AsyncStorage本地存储工具类
2017/10/24 Javascript
vue组件横向树实现代码
2018/08/02 Javascript
React中如何引入Angular组件详解
2018/08/09 Javascript
在Vant的基础上实现添加表单验证框架的方法示例
2018/12/05 Javascript
JS散列表碰撞处理、开链法、HashTable散列示例
2019/02/08 Javascript
bootstrap-treeview实现多级树形菜单 后台JSON格式如何组织?
2019/07/26 Javascript
JS立即执行的匿名函数用法分析
2019/11/04 Javascript
javascript实现倒计时提示框
2021/03/02 Javascript
[03:09]2014DOTA2国际邀请赛 赛场上的美丽风景线 中国Coser也爱DOTA2
2014/07/20 DOTA
[55:45]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.24
2019/09/10 DOTA
Python求两个文本文件以行为单位的交集、并集与差集的方法
2015/06/17 Python
Django中处理出错页面的方法
2015/07/15 Python
Python网络编程之TCP与UDP协议套接字用法示例
2018/02/02 Python
使用Python和Scribus创建一个RGB立方体的方法
2019/07/17 Python
python plotly绘制直方图实例详解
2019/07/22 Python
Python pygame绘制文字制作滚动文字过程解析
2019/12/12 Python
Windows系统下pycharm中的pip换源
2020/02/23 Python
Python中求对数方法总结
2020/03/10 Python
sklearn线性逻辑回归和非线性逻辑回归的实现
2020/06/09 Python
零基础学python应该从哪里入手
2020/08/11 Python
Python3.9最新版下载与安装图文教程详解(Windows系统为例)
2020/11/28 Python
爱尔兰领先的在线体育用品零售商:theGAAstore
2018/04/16 全球购物
Big Green Smile法国:领先的英国有机和天然产品在线商店
2021/01/02 全球购物
大学生村官工作感言
2014/01/10 职场文书
慈善晚会策划方案
2014/05/14 职场文书
详解JS WebSocket断开原因和心跳机制
2021/05/07 Javascript
用 Python 定义 Schema 并生成 Parquet 文件详情
2021/09/25 Python
vue elementUI表格控制对应列
2022/04/13 Vue.js