码迷,mamicode.com
首页 > 其他好文 > 详细

图的可视化

时间:2015-02-28 16:16:45      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

最近在看一些算法,需要将抽象的图的数据结构用可视化的方式展现,本来以为matplotlib可能会有潜在的支持,结果发现了一个关于图的计算和展示的模块networkx。这个模块使用非常方便,支持基于dict的邻接表,用来辅助图论的学习很不错。

# -*- encoding: utf-8 -*-

from matplotlib import pyplot as plt
import networkx as nx

N = {
    ‘a‘: {‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘},
    ‘b‘: {‘c‘, ‘e‘},
    ‘c‘: {‘d‘},
    ‘d‘: {‘e‘},
    ‘e‘: {‘f‘},
    ‘f‘: {‘c‘, ‘g‘, ‘h‘},
    ‘g‘: {‘f‘, ‘h‘},
    ‘h‘: {‘f‘, ‘g‘},
    }
labels = {i: i for i in N.keys()}

G = nx.DiGraph(N)

pos = nx.spring_layout(G)
nx.draw(G, pos, node_color=‘r‘, edge_color=‘b‘)
nx.draw_networkx_labels(G, pos, labels, font_size=16, font_color=‘g‘)

plt.axis(‘off‘)
plt.savefig("labels_and_colors.png") # save as png
plt.show() # display
技术分享

图的可视化

标签:

原文地址:http://www.cnblogs.com/openqt/p/4305530.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!