当前位置: 首页 > news >正文

Python复杂网络结构可视化——matplotlib+networkx

画一个多层感知机

import matplotlib.pyplot as plt
import networkx as nx 
left, right, bottom, top, layer_sizes = .1, .9, .1, .9, [4, 7, 7, 2]
# 网络离上下左右的距离
# layter_sizes可以自己调整
import random
G = nx.Graph()
v_spacing = (top - bottom)/float(max(layer_sizes))
h_spacing = (right - left)/float(len(layer_sizes) - 1)
node_count = 0
for i, v in enumerate(layer_sizes):
    layer_top = v_spacing*(v-1)/2. + (top + bottom)/2.
    for j in range(v):
        G.add_node(node_count, pos=(left + i*h_spacing, layer_top - j*v_spacing))
        node_count += 1
# 这上面的数字调整我想了好半天,汗
for x, (left_nodes, right_nodes) in enumerate(zip(layer_sizes[:-1], layer_sizes[1:])):
    for i in range(left_nodes):
        for j in range(right_nodes):
            G.add_edge(i+sum(layer_sizes[:x]), j+sum(layer_sizes[:x+1]))    
# 慢慢研究吧
pos=nx.get_node_attributes(G,'pos')
# 把每个节点中的位置pos信息导出来
nx.draw(G, pos, 
        node_color=range(node_count), 
        with_labels=True,
        node_size=200, 
        edge_color=[random.random() for i in range(len(G.edges))], 
        width=3, 
        cmap=plt.cm.Dark2, # matplotlib的调色板,可以搜搜,很多颜色呢
        edge_cmap=plt.cm.Blues
       )
plt.show() 

 

 

还有很多其他的

 https://zhuanlan.zhihu.com/p/36700425

https://networkx.org/documentation/stable/auto_examples/index.html

相关文章:

  • FairScale
  • Pytorch学习率lr衰减(decay)(scheduler)
  • Pytorch获取中间变量的梯度grad
  • Pytorch梯度裁剪 nn.utils.clip_grad_norm_()
  • Layer Normalization(LN) 层标准化
  • TF_CPP_MIN_LOG_LEVEL
  • Python sys.argv
  • pytorch模型可复现设置(cudnn.benchmark 加速卷积运算 cudnn.deterministic)
  • Python sys.stdout
  • Python vars()函数
  • Python类的self
  • Python输出numpy array带逗号和不带逗号
  • center loss 中心损失
  • torch与lua的关系
  • Python类super(super().__init__())
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • 「译」Node.js Streams 基础
  • AWS实战 - 利用IAM对S3做访问控制
  • CEF与代理
  • express如何解决request entity too large问题
  • JAVA SE 6 GC调优笔记
  • laravel 用artisan创建自己的模板
  • Python 基础起步 (十) 什么叫函数?
  • web标准化(下)
  • Xmanager 远程桌面 CentOS 7
  • zookeeper系列(七)实战分布式命名服务
  • 阿里云购买磁盘后挂载
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 主流的CSS水平和垂直居中技术大全
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • ​iOS实时查看App运行日志
  • (02)Hive SQL编译成MapReduce任务的过程
  • (Note)C++中的继承方式
  • (Python第六天)文件处理
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (转)c++ std::pair 与 std::make
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • (转)视频码率,帧率和分辨率的联系与区别
  • .net core Swagger 过滤部分Api
  • .NET Core 成都线下面基会拉开序幕
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .net经典笔试题
  • .net实现客户区延伸至至非客户区
  • .net下简单快捷的数值高低位切换
  • .NET正则基础之——正则委托
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • :如何用SQL脚本保存存储过程返回的结果集
  • @开发者,一文搞懂什么是 C# 计时器!
  • [ C++ ] STL priority_queue(优先级队列)使用及其底层模拟实现,容器适配器,deque(双端队列)原理了解
  • [ vulhub漏洞复现篇 ] ECShop 2.x / 3.x SQL注入/远程执行代码漏洞 xianzhi-2017-02-82239600