在 Python 中打印图形(顶点、边)

Wiz*_*ard 1 python graph-theory matplotlib

在 Python 中打印图形的最简单方法是什么?即我想可视化图形的最大集团。

我目前的数据结构是:

adjacency_matrix = [[False, True, False, ...], 
                    [True, False, True, ...],
                    ..]

adjacency_set = [[45, 2], [1, 32], ...]

max_clique = [23, 143, 1, 2, 42, 12, 3, ...] # the vertices in the max clique
Run Code Online (Sandbox Code Playgroud)

我会使用 matplotlib 来做到这一点吗?

Nad*_*dav 5

考虑使用networkx包来创建和操作图形。它还具有可视化功能,例如使用 matplotlib 绘图。

请注意,您需要将数据结构转换为可以初始化 networkx 图的数据结构。是文档。

你也可能需要阅读关于如何形象化最大派系的答案。

例子:

import numpy as np
import networkx as nx
import matplotlib.pyplot as plt

A = np.matrix([[1,1],[2,1]])
G = nx.from_numpy_matrix(A)
nx.draw(G)
plt.show()
Run Code Online (Sandbox Code Playgroud)