python - 对我来说渲染(或以任何方式以图形方式表示)邻接矩阵的最简单方法是什么

标签 python python-3.x graph-theory adjacency-matrix

我想输入一个矩阵(字典,以节点为键,集合中的所有相邻节点作为键[节点表示为整数,它们是另一个字典的索引,该字典包含节点表示的对象{细胞中一个迷宫,如果有人好奇的话}])并有一个图形,显示每个节点被标记的图形,并用线连接每个节点。

如果没有方便的方法来使用我发布的格式执行此操作,那么它不太重要,但如果我可以拥有所有图表的图像,并且理想情况下自动完成,这对我的写作非常有帮助文档中会有几个。

Python3 顺便说一句

我会发布有问题的代码,但是,它是我的 A-Level 计算机科学类(class)作业的一个更大项目的一部分,因此包含许多元素。

最佳答案

您正在寻找的是Networkx 。 这个Python库可以帮助你通过输入节点和边来绘制图形。 这是一些示例代码。

pip install networkx #for installing the library

用于创建图表

import networkx as nx
G = nx.Graph()

用于添加节点

G.add_node(1)

或多个节点

G.add_nodes_from([2, 3])

您可以添加边缘,例如

G.add_edge(1, 2)

最后显示你可以做什么

nx.draw(G)
plt.show()

这是一个完整的示例运行

import networkx as nx
import matplotlib.pyplot as plt

G = nx.Graph()
G.add_edges_from(
[('A', 'C'), ('D', 'B'), ('E', 'C'), ('E', 'F'),
 ('B', 'H'), ('B', 'F'), ('C', 'G')])
nx.draw(G,with_labels=True)
plt.show()

enter image description here

关于python - 对我来说渲染(或以任何方式以图形方式表示)邻接矩阵的最简单方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49775355/

相关文章:

python - 如何将两个形状为 (2,2) 和 (2,) 的 tf.Variable 类型数组相乘?

algorithm - ocaml 中优雅的 BFS

perl - 如何在 Perl 中根据一组不等式比较创建有序列表?

python - 如何在 python 中分块读取大图像?

python - tkinter 删除所有但未选择的项目

python - 如何在 django 中自定义下拉列表表单元素?

python - 每次用户按键时如何录制音频?

python - 如何解压 zip 文件并将文件复制到不同的文件夹中?

algorithm - 具有每条边的距离和权重的单源最短路径

python - 关于模拟中心极限定理的问题来自 Book Data Science from Scratch