首页 > 解决方案 > 如何从具有特定度数的节点创建 NetworkX 子图?

问题描述

我有一个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)结果是TypeError.

标签: pythonnetworkx

解决方案


使用以下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])

推荐阅读