繁体   English   中英

如何从具有特定度数的节点创建NetworkX子图?

[英]How can I create a NetworkX subgraph from nodes with specific degree?

我有一个包含整个数据集的图G ,但是我现在想做的是从中创建一个图,其中节点的子集的degree高于某个阈值。

这是一种绕行方式,用于绘制连接最多的节点,但随后我可以将阈值更改为我为其他图表选择的阈值。

所以我的代码当前是:

myedgelist = []

for i in G.degree(): 
    if i[1] > 2:
        myedgelist.append(g for g in G.edges(i[0]))

但是,如果我尝试使用G.edge_subgraph(myedgelist)从这些边缘创建一个子图, G.edge_subgraph(myedgelist)导致TypeError

看看使用nx.subgraph函数的解决方案:

G=nx.erdos_renyi_graph(n=100,p=.05)
node_degree_dict=nx.degree(G)
G2=nx.subgraph(G,[x for x in G.nodes() if node_degree_dict[x]>5])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM