图的可视化
最近在看一些算法,需要将抽象的图的数据结构用可视化的方式展现,本来以为matplotlib可能会有潜在的支持,结果发现了一个关于图的计算和展示的模块networkx。这个模块使用非常方便,支持基于dict的邻接表,用来辅助图论的学习很不错。
# -*- encoding: utf-8 -*- from matplotlib import pyplot as plt import networkx as nx N = { 'a': set('bcdef'), 'b': set('ce'), 'c': set('d'), 'd': set('e'), 'e': set('f'), 'f': set('cgh'), 'g': set('fh'), 'h': set('fg'), } G = nx.DiGraph(N) nx.draw(G, with_labels=True, node_color='r', edge_color='b', font_color='g', font_size=16) plt.axis('off') plt.savefig("labels_and_colors.png") # save as png plt.show() # display