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

网站搭建平台demo免费菏泽营销网站建设公司

网站搭建平台demo免费,菏泽营销网站建设公司,怎么访问域名网站吗,手机上做网站php初识Python之Networkx模块 文章目录 初识Python之Networkx模块简介安装Networkx导入模块、查看版本信息一些基本操作创建Graph添加边#xff08;节点#xff09;获取Graph的基本信息Graph的基本绘图 简单应用案例使用内置的Graph数据创建一个无向图创建一个有向图在计算机网络…初识Python之Networkx模块 文章目录 初识Python之Networkx模块简介安装Networkx导入模块、查看版本信息一些基本操作创建Graph添加边节点获取Graph的基本信息Graph的基本绘图 简单应用案例使用内置的Graph数据创建一个无向图创建一个有向图在计算机网络中的应用案例在数据中心里的应用案例 简介 本文主要介绍Networkx的使用方法和一些简单的应用案例使用方法主要会介绍创建图、图的基本操作等应用案例不仅会介绍如何生成无向图、有向图等还会介绍Networkx在计算机网络、数据中心网络等网络中的简单应用案例。 安装Networkx 在cmd或者shell中输入命令 pip install networkx如果使用python中的.ipynb的话也可以 %pip install networkx导入模块、查看版本信息 import networkx as nx import matplotlib.pyplot as pltprint(nx.__version__)一些基本操作 创建Graph G nx.Graph() # 无向图 G nx.DiGraph() # 有向图 G nx.MultiGraph() # 多重无向图 G nx.MultiDigraph() # 多重有向图 G.clear() # 清空图添加边节点 在添加边的时候如果使用了未添加的节点则会自动添加节点。另外单纯添加节点的方法是 # 添加节点 G.add_node(1) G.add_nodes_from([2, 3, 4])G.add_edge(1, 2) # default edge data1 G.add_edge(2, 3, weight0.9) # specify edge data # 如果是边有许多的权比如有长度和宽度的属性那么 G.add_edge(n1, n2, length2, width3)elist [(1, 2), (2, 3), (1, 4), (4, 2)] G.add_edges_from(elist) elist [(a, b, 5.0), (b, c, 3.0), (a, c, 1.0), (c, d, 7.3)] G.add_weighted_edges_from(elist)# 如果给结点的名称是其它符号想离散化成从x开始的数字标记那么 G nx.convert_node_labels_to_integers(G, first_labelx)获取Graph的基本信息 nx.info(G) # 图信息的概览 G.number_of_nodes() G.number_of_edges() # 获取和节点idx连接的边的attr属性之和 G.in_degree(idx, weightattr)# 如果想知道某个结点相连的某个边权之和 DG.degree(nodeIdx, weightweightName)# 获取结点或者边的属性集合返回的是元组的列表 G.nodes.data(attrName) G.edges.data(attrName)# 获取n1 n2的边的length权重那么: G[n1][n2][length] # 如果是有重边的图选择n1,n2第一条边的length权重则: G[n1][n2][0][length]# 获取n1结点的所有邻居 nx.all_neighbors(G, n1)# 判断图中n1到n2是否存在路径 nx.has_path(G, n1, n2) # 根据一个结点的list获取子图 subG nx.subgraph(G, nodeList)Graph的基本绘图 # 最简单的绘制 import matplotlib.pyplot as plt nx.draw(G) plt.show()# 设置其他相关参数 nx.draw(G,with_labelsTrue,pos nx.sprint_layout(G),node_colorcolor_list,edge_colork,node_size100,node_shapeo,linewidths2,width1.0,alpha0.55,stylesolid,font_size9,font_colork )简单应用案例 使用内置的Graph数据 G nx.karate_club_graph() plt.figure(figsize (10, 8)) nx.draw_networkx(G, with_labels True)创建一个无向图 # 创建一个无向图 G nx.Graph()# 添加节点 G.add_node(1) G.add_nodes_from([2, 3, 4])# 添加边 G.add_edge(1, 2) G.add_edges_from([(1, 3), (2, 4), (3, 4)])# 绘制图形 nx.draw(G, with_labelsTrue, font_weightbold) plt.show()# 输出图的基本信息 print(图中的节点, G.nodes()) print(图中的边, G.edges()) print(节点 1 的邻居, list(G.neighbors(1)))创建一个有向图 # 创建一个有向图 DiG nx.DiGraph()# 添加节点 DiG.add_node(1) DiG.add_nodes_from([2, 3, 4])# 添加有向边 DiG.add_edge(1, 2) DiG.add_edges_from([(1, 3), (2, 4), (3, 4)])# 绘制图形 nx.draw(DiG, with_labelsTrue, font_weightbold, arrowsize20, node_size700) plt.show()# 输出有向图的基本信息 print(有向图中的节点, DiG.nodes()) print(有向图中的有向边, DiG.edges()) print(节点 1 的出度, DiG.out_degree(1)) print(节点 1 的入度, DiG.in_degree(1))在计算机网络中的应用案例 # 创建一个有向图表示网络拓扑 G nx.DiGraph()# 添加节点和边 G.add_nodes_from([Router1, Router2, Switch1, Computer1]) G.add_edges_from([(Router1, Router2), (Router1, Switch1), (Switch1, Computer1)])# 绘制网络拓扑 nx.draw(G, with_labelsTrue, font_weightbold, arrowsize20, node_size700) plt.show()# 计算节点度 degrees dict(G.degree()) print(节点度, degrees)# 计算聚类系数 clustering_coefficient nx.clustering(G) print(聚类系数, clustering_coefficient)# 计算最短路径 shortest_path nx.shortest_path(G, sourceRouter1, targetComputer1) print(最短路径, shortest_path)# 绘制带权重的有向图 nx.draw(G, with_labelsTrue, font_weightbold, arrowsize20, node_size700, connectionstylearc3,rad0.1) plt.show()# 查找所有最短路径 all_shortest_paths list(nx.all_shortest_paths(G, sourceRouter1, targetComputer1)) print(所有最短路径, all_shortest_paths)# 计算路径长度 path_length nx.shortest_path_length(G, sourceRouter1, targetComputer1) print(最短路径长度, path_length)在数据中心里的应用案例 import networkx as nx import matplotlib.pyplot as plt import random# 创建一个有向图表示网络拓扑 network_topology nx.DiGraph()# 添加节点和边 network_topology.add_nodes_from([Router1, Router2, Switch1, Link1]) network_topology.add_edges_from([(Router1, Switch1), (Router2, Switch1), (Switch1, Link1)])# 添加边属性表示流量和权重 network_topology[Switch1][Link1][traffic] 0 network_topology[Switch1][Link1][threshold] 50 network_topology[Switch1][Link1][weight] 1.0# 模拟拥塞控制算法 def congestion_control(network, threshold):for edge in network.edges(dataTrue):# 检查键是否存在如果不存在则初始化if traffic not in edge[2]:edge[2][traffic] 0edge[2][traffic] random.randint(0, 20) # 模拟随机流量增加if edge[2][traffic] threshold:# 执行拥塞控制动作edge[2][weight] 2.0 # 增加拥塞链路的权重else:edge[2][weight] 1.0 # 恢复非拥塞链路的权重# 模拟多个时间步的拥塞控制 for i in range(5):congestion_control(network_topology, thresholdnetwork_topology[Switch1][Link1][threshold])print(f时间步 {i 1} - Link1 流量{network_topology[Switch1][Link1][traffic]})# 绘制带权重的有向图 edge_weights [edge[2][weight] for edge in network_topology.edges(dataTrue)] nx.draw(network_topology, with_labelsTrue, font_weightbold, arrowsize20, node_size700, edge_coloredge_weights, cmapplt.cm.Blues) plt.show()
http://www.sadfv.cn/news/20534/

相关文章:

  • icp备案网站快速备案专家网站怎么做自营销
  • 可以做请柬的网站网络舆情事件案例
  • 精准扶贫电商网站建设计划书有没有专业做淘宝网站吗
  • 怎么在网上做网站织梦音乐网站模板
  • wordpress做大型网站中国建设银行网站公积金查询系统
  • 网站后台怎么不能上传图片wordpress改后台登录地址
  • 实力网站开发广州越秀区核酸检测点
  • 电商网站模板html减肥网站模板
  • 做网站竞价没有点击率php7.1 WordPress
  • 拥有服务器后如何做网站网站建设设计文档模板
  • 台州网站优化方案网站开发和程序开发
  • 电商网站后台建设莱芜做网站
  • wordpress电影站开发淘宝详情页设计模板
  • 丹东做网站网站建设常规尺寸
  • 中英文双语企业网站iis 创建网站
  • 问卷星网站开发市场调查问卷ui培训费
  • 网站建设奕网情深做网站推广怎么做
  • 北京 房地产 网站建设广州工商注册查询系统
  • 惠州双语网站建设费用天津市建设信息工程网
  • 电商网站建设与维护意味着什么刚刚传来最新消息
  • 网站模板制作与安装教程视频做网站的公司给出个证明
  • 做网站为什么能挣钱wordpress 云主机名
  • 新开传奇网站999c 创建一个网站怎么做
  • 怎么在自己电脑做网站手机免费建立网站
  • 临沂做网站建设的公司哪家好网络营销模式下品牌推广研究论文
  • 做金属小飞机的网站如何给网站挂黑链
  • 宁夏区建设厅网站天元建设集团有限公司朱华
  • 网站没排名要怎么做现在做外贸还能挣钱吗
  • 惠州市网站开发那个装修公司的网站做的好
  • 网站制作培训班做网站哪个软件好用