python - 在 NetworkX 中是否可以将节点定义为子图?

标签 python nodes networkx subgraph

我在网上查了一下,但没有找到答案。

你们知道在 NetworkX 中是否可以将节点定义为子图吗?

让我更好地提出问题:我有一个由一些形状(正方形、圆形、三角形等)的节点组成的图。我现在想将每个节点定义为一个子图。子图的节点应该是形状的角点(对于三角形:3 个节点的子图,因为有 3 个角点)。当然,这个子图的创建不应该影响起始图。

示例:

  • 有向图由 2 个节点组成:“正方形”和“三角形”。
  • “正方形”和“三角形”之间的边
  • 节点“square”是包含 4 个节点的子图(每个角点 1 个);
  • 连接这些节点的边;
  • 节点“三角形”是包含 3 个节点的子图(每个角点 1 个);
  • 连接这些节点的边。

可以在 NetworkX 中实现吗?感谢任何帮助或建议。

最佳答案

是的,您可以这样做,例如

In [1]: import networkx as nx

In [2]: square = nx.Graph()

In [3]: square.add_cycle([1,2,3,4])

In [4]: triangle = nx.Graph()

In [5]: triangle.add_cycle([10,20,30])

In [6]: shapes = nx.Graph()

In [7]: shapes.add_edge(triangle,square)

In [8]: shapes.edges()
Out[8]: 
[(<networkx.classes.graph.Graph at 0x962040c>,
  <networkx.classes.graph.Graph at 0x962042c>)]

In [9]: shapes.nodes()[0].edges()
Out[9]: [(1, 2), (1, 4), (2, 3), (3, 4)]

In [10]: shapes.nodes()[1].edges()
Out[10]: [(10, 20), (10, 30), (20, 30)]

关于python - 在 NetworkX 中是否可以将节点定义为子图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21961103/

相关文章:

python - 图的节点数不匹配

javascript - querySelector() 返回静态节点列表或事件节点列表

java - 二叉树的有序迭代器

python - 从 Graph 类中提取度数、平均度数

python - 图中的节点未显示正确的标签

nodes - Greedy Best First Search 和 A* 算法的返回节点如何修剪?

python - 如何在 Amazon S3 中复制大于 5 GB 的文件?

python - XlsxWriter 设置全局字体大小

python - 在不创建任何对象副本的情况下展平 Python 列表?

python - 混淆矩阵实际值每K轮更改一次