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()
小节
通过分享一些案例,目的在于供一个思路,同时也为生活中的问题解决提供知识储备。我们不必纠结每一个知识点,当我们想使用的时候,再详细查阅相关知识。
来源:https://www.cnblogs.com/brightyuxl/p/9994634.html