1、K-近邻规则网络的生成与可视化
导入库
import networkx as nx
import matplotlib.pyplot as plt
自己写一个规则网络的生成算法
def regular_graph(n, k):
G = nx.Graph()
nodes = list(range(n)) # 节点标签设置为0到n-1
# 每个节点与周围k/2个邻近节点相连
for j in range(1, k // 2 + 1): # //是取整除 - 返回商的整数部分(向下取整)
targets = nodes[j:] + nodes[0:j]
G.add_edges_from(zip(nodes, targets))
return G
zip函数的作用
a = [1,2,3,4]
b = [6,7,8,9]
list(zip(a,b))
[(1, 6), (2, 7), (3, 8), (4, 9)]
n = 20 # 网络节点总数
k = 4 # 近邻节点数
color_list = [‘red’,‘gray’]
G = regular_graph(n, k)
pos = nx.circular_layout(G)
nx.