1. 安装setuptools
wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python
2. 安装networkx
pip install networkx(在root权限下安装,否则报错,但我在安装时出现一些警告信息)
3. 安装numpy和matplotlib(支持networkx绘图)
sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose
4. 使用networkx
4.1新建graph.py (任意名字)
import networkx as nx
import matplotlib.pyplot as plt
def draw_graph(graph):
# extract nodes from graph
nodes = set([n1 for n1, n2 in graph] + [n2 for n1, n2 in graph])
# create networkx graph
G=nx.Graph()
# add nodes
for node in nodes:
G.add_node(node)
# add edges
for edge in graph:
G.add_edge(edge[0], edge[1])
# draw graph
pos = nx.shell_layout(G)
nx.draw(G, pos)
# show graph
plt.show()
# draw example
graph = [(20, 21),(21, 22),(22, 23), (23, 24),(24, 25), (25, 20)]
draw_graph(graph)
执行后:
节点是:[20, 21, 22, 23, 24, 25]
边:[(20, 25), (20, 21), (21, 22), (22, 23), (23, 24), (24, 25)]
[(20, 25), (20, 21), (21, 22), (22, 23), (23, 24), (24, 25)]