当前位置: 移动技术网 > IT编程>脚本编程>Python > Python3画图系列——NetworkX初探

Python3画图系列——NetworkX初探

2018年11月21日  | 移动技术网IT编程  | 我要评论

networkx 概述

networkx 主要用于创造、操作复杂网络,以及学习复杂网络的结构、动力学及其功能。用于分析网络结构,建立网络模型,设计新的网络算法,绘制网络等等。安装networkx看以参见 。

networkx学习

关于networkx的学习可以参考如下网站:

案例学习

学习案例前,请先导入下面的库

import networkx as nx
import matplotlib.pyplot as plt

案例1

g = nx.graph()
g.add_node(1)
g.add_edge(2, 3)
# g.add_edge(3, 2)
print("输出全部节点:{}".format(g.nodes()))
print("输出全部边:{}".format(g.edges()))
print("输出全部边的数量:{}".format(g.number_of_edges()))
nx.draw(g)
plt.show()
输出全部节点:[1, 2, 3]
输出全部边:[(2, 3)]
输出全部边的数量:1

案例2

g = nx.digraph()
g.add_node(1)
g.add_node(2)
g.add_nodes_from([3, 4, 5, 6])
g.add_cycle([1, 2, 3, 4])
g.add_edge(1, 3)
g.add_edges_from([(3, 5), (3, 6), (6, 7)])
print("输出全部节点:{}".format(g.nodes()))
print("输出全部边:{}".format(g.edges()))
print("输出全部边的数量:{}".format(g.number_of_edges()))
nx.draw(g)
plt.show()
输出全部节点:[1, 2, 3, 4, 5, 6, 7]
输出全部边:[(1, 2), (1, 3), (2, 3), (3, 4), (3, 5), (3, 6), (4, 1), (6, 7)]
输出全部边的数量:8

案例3

g = nx.cubical_graph()
plt.subplot(121)
nx.draw(g)
plt.subplot(122)
nx.draw(g, pos=nx.circular_layout(g), nodecolor='r', edge_color='b')
plt.show()

案例4

g = nx.path_graph(8)
nx.draw(g)
plt.show()

案例5

g = nx.cycle_graph(24)
pos = nx.spring_layout(g, iterations=200)
nx.draw(g, pos, node_color=range(24), node_size=800, cmap=plt.cm.blues)
plt.show()

案例6

g = nx.petersen_graph()
plt.subplot(121)
nx.draw(g, with_labels=true, font_weight='bold')
plt.subplot(122)
nx.draw_shell(g, nlist=[range(5, 10), range(5)], with_labels=true, font_weight='bold')
plt.show()

小节

通过分享一些案例,目的在于供一个思路,同时也为生活中的问题解决提供知识储备。我们不必纠结每一个知识点,当我们想使用的时候,再详细查阅相关知识。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网