首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >复杂网络的简单路径、节点颜色图、边缘色图。

复杂网络的简单路径、节点颜色图、边缘色图。

作者头像
裴来凡
发布于 2022-05-28 07:44:25
发布于 2022-05-28 07:44:25
70500
代码可运行
举报
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import sys

import matplotlib.pyplot as plt
import networkx as nx

G = nx.grid_2d_graph(5, 5)  # 5x5 grid

# print the adjacency list
for line in nx.generate_adjlist(G):
    print(line)
# write edgelist to grid.edgelist
nx.write_edgelist(G, path="grid.edgelist", delimiter=":")
# read edgelist from grid.edgelist
H = nx.read_edgelist(path="grid.edgelist", delimiter=":")

nx.draw(H)
plt.show()
import matplotlib.pyplot as plt
from networkx import nx

G = nx.lollipop_graph(4, 6)

pathlengths = []

print("source vertex {target:length, }")
for v in G.nodes():
    spl = dict(nx.single_source_shortest_path_length(G, v))
    print('{} {} '.format(v, spl))
    for p in spl:
        pathlengths.append(spl[p])

print('')
print("average shortest path length %s" % (sum(pathlengths) / len(pathlengths)))

# histogram of path lengths
dist = {}
for p in pathlengths:
    if p in dist:
        dist[p] += 1
    else:
        dist[p] = 1

print('')
print("length #paths")
verts = dist.keys()
for d in sorted(verts):
    print('%s %d' % (d, dist[d]))

print("radius: %d" % nx.radius(G))
print("diameter: %d" % nx.diameter(G))
print("eccentricity: %s" % nx.eccentricity(G))
print("center: %s" % nx.center(G))
print("periphery: %s" % nx.periphery(G))
print("density: %s" % nx.density(G))

nx.draw(G, with_labels=True)
plt.show()
import matplotlib.pyplot as plt
import networkx as nx

G = nx.path_graph(8)
nx.draw(G)
plt.show()
import matplotlib.pyplot as plt
import networkx as nx

G = nx.cycle_graph(24)
pos = nx.spring_layout(G, iterations=200)
nx.draw(G, pos, node_color=range(24), node_size=800, cmap=plt.cm.Blues)
plt.show()
import matplotlib.pyplot as plt
import networkx as nx

G = nx.star_graph(20)
pos = nx.spring_layout(G)
colors = range(20)
nx.draw(G, pos, node_color='#A0CBE2', edge_color=colors,
        width=4, edge_cmap=plt.cm.Blues, with_labels=False)
plt.show()
import matplotlib.pyplot as plt
import networkx as nx

G = nx.house_graph()
# explicitly set positions
pos = {0: (0, 0),
       1: (1, 0),
       2: (0, 1),
       3: (1, 1),
       4: (0.5, 2.0)}

nx.draw_networkx_nodes(G, pos, node_size=2000, nodelist=[4])
nx.draw_networkx_nodes(G, pos, node_size=3000, nodelist=[0, 1, 2, 3], node_color='b')
nx.draw_networkx_edges(G, pos, alpha=0.5, width=6)
plt.axis('off')
plt.show()
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 图像处理与模式识别研究所 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
小邵教你玩转ES6(一)-let,const和解构赋值
这篇文章主要让你学会工作当中常用的es6技巧,以及扩展如实现数据双向绑定,class用es5如何实现、如何给伪数组添加迭代器等等。
前端迷
2019/12/03
6670
ES6 的解构赋值
将等号右边的数据进行解构,然后赋值给左边。可以分为数组的解构赋值、对象的解构赋值。
小小范
2021/12/07
4260
es6之扩展运算符 三个点(...)
Object.assign 方法用于对象的合并,将源对象 (source) 的所有可枚举属性,复制到目标对象 (target)。
astonishqft
2022/05/10
2900
JavaScript进阶-解构赋值与展开运算符
自从ES6引入解构赋值(Destructuring Assignment)和展开运算符(Spread Operator)以来,JavaScript开发者在处理数组和对象时拥有了更为灵活和高效的工具。这两个特性极大地简化了数据提取和合并的过程,同时也提升了代码的可读性和简洁度。本文将深入浅出地探讨解构赋值与展开运算符的使用方法、常见问题、易错点以及如何避免这些错误,通过实际代码示例加深理解。
Jimaks
2024/06/21
2200
JavaScript进阶-解构赋值与展开运算符
ES6语法学习(变量的解构赋值)
另一种情况是不完全解构:就是等号左边的模式只匹配一部分等号右边的数组,这样解构依然可以成功
帅的一麻皮
2020/06/22
5730
ES6基础-变量的解构赋值
数组的解构赋值,对象的解构赋值,字符串的解构赋值,数值与布尔值的解构赋值,函数参数的解构赋值。
达达前端
2019/11/28
8550
延展操作符...的使用
展开语法(Spread syntax), 可以在函数调用/数组构造时, 将数组表达式或者string在语法层面展开;还可以在构造字面量对象时, 将对象表达式按key-value的方式展开。(译者注: 字面量一般指 [1, 2, 3] 或者 {name: "mdn"} 这种简洁的构造方式)。
司想君
2018/12/29
6780
JavaScript(十四)
let 和 const 解决了之前 var 的问题。首先,let 和 const 声明的变量不能重复声明。其次,使用 let 声明的变量是可以修改的,而使用 const 声明的变量是不能修改的(也就是其他语言的常量)。最后,使用 let 和 const 声明的变量有块级作用域。
1ess
2021/11/01
2680
ES6之解构赋值
赋值元素可以是任意可遍历的对象 被赋值的变量还可以是对象的属性,不局限于单纯的变量。 循环体。 跳过赋值元素。(使用逗号) rest参数。(剩余数组 or 剩余Object,放在最后一位)。 默认值。 重命名。(对于Object的解构) 字符串也可以解构。(Array形式接受) // 任意可迭代对象都可以赋值 let [a, b, c] = "abc" // ["a", "b", "c"] let [one, two, three] = new Set([1
19组清风
2021/11/15
2090
JavaScript展开语法详解!
展开语法(Spread syntax),是将数组、string或者(key-value)对象在语法层面展开,用在函数调用和数组构造时,关键字是:...
Learn-anything.cn
2021/11/27
6860
30个 JS 实用技巧总结,助你提升工作效率
我是Rakshit Shah,我在 IT 行业的工作经验已经超过5年了。我是一名全栈开发人员。JavaScript确实是所有全栈开发人员的必会的技术。其他技术(Angular、Java、VueJS 等)的语法会有所不同,但我们应该更多地关注概念与实际应用!
前端达人
2021/10/08
1K0
30个 JS 实用技巧总结,助你提升工作效率
JavaScript 又出新特性了?来看看这篇就明白了
https://juejin.im/post/5ca2e1935188254416288eb2
崔庆才
2019/05/06
1.7K0
ES6常用知识点小结
ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准。
Krry
2018/09/10
9080
ES6常用知识点小结
ES6面试点-对象的解构赋值
数组本质是特殊的对象,下面代码对数组进行对象解构。数组arr的0键对应的值是1,[arr.length - 1]就是2键,对应的值是3。方括号这种写法,属于“属性名表达式”
用户10106350
2022/10/28
5910
JavaScript 扩展运算符 ... 核心解析
扩展运算符‌(Spread Operator)... 是 ES6 引入的语法,用于‌将可迭代对象(如数组、对象)展开为独立元素‌,支持数组、对象、函数参数等多种场景。
jack.yang
2025/04/05
1850
ES6语法使用精华
let 的作用域与 const 命令相同:只在声明所在的块级作用域内有效。且不存在变量提升 。
前端_AWhile
2019/09/16
8450
面试官想要的 JS 基本类型
面试的时候我们经常会被问答js的数据类型。大部分情况我们会这样回答包括: 基本类型(值类型或者原始类型): Number、Boolean、String、NULL、Undefined以及ES6的Symb
grain先森
2019/04/17
6010
面试官想要的 JS 基本类型
40个JS常用使用技巧案例
解释:Set 对象是一种无序且唯一的数据结构,使用扩展运算符 ... 将 Set 转换回数组,从而实现去重。
威哥爱编程
2025/02/21
1350
ECMAScript 6之变量的解构赋值
1,数组的解构赋值 基本用法 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。 以前,为变量赋值,只能直接指定值。 var a = 1; var b = 2; var c = 3; ES6允许写成下面这样。 var [a, b, c] = [1, 2, 3]; 上面代码表示,可以从数组中提取值,按照对应位置,对变量赋值。 本质上,这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值。下面是一些使用嵌套数组进行解构的例子。 l
xiangzhihong
2018/02/05
3.3K0
最新最全面的 ES6 新增特性详细解析
const output = highlight${name} is ${age} years old.;
小焱
2025/05/26
2470
最新最全面的 ES6 新增特性详细解析
相关推荐
小邵教你玩转ES6(一)-let,const和解构赋值
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档