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
.
解决方案
使用以下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])
推荐阅读
- c++ - 如何使用“->”运算符更改单链表中的指针地址
- reactjs - 功能组件的 PropTypes.instanceOf 不起作用
- docker - 找不到该命令,因为 PATH 环境变量中未包含“/snap/bin”
- java - Java:链接列表节点在我的代码中不起作用
- android - 运行“应用程序”的 Android Studio 错误:未找到默认活动
- android-studio - android studio中的手动命名空间
- reactjs - 我将 React 和 spring boot 部署到 heroku 上的 2 个不同的应用程序中。我怎样才能让他们互相交谈
- jenkins - 在 Jenkins 中,为什么我们会看到两个不同的 executor 执行同一阶段?
- node.js - 程序“node.exe”无法在 Visual Studio 代码中运行
- containers - 如何从 docker 容器中收集主机系统日志