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

时间:2019-03-05 00:57:57

标签: python 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

1 个答案:

答案 0 :(得分:1)

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