什么是networkx?networkx在02年5月产生,是用python语言编写的软件包,便于用户对复杂网络进行创建、操作和学习。利用networkx可以以标准化和非标准化的数据格式存储网络、生成多种随机网络和经典网络、分析网络结构、建立网络模型、设计新的网络算法、进行网络绘制等。 ——百度百科
我们可以用networkx做什么?Examples - NetworkX 2.1 documentationnetworkx.github.io画图
2. 有向图,无向图,网络图……
3. 总之各种图
看到这你是不是心动了呢?今天的教程就是要教会你画出封面上的三层感知机模型图!
Let's get started!
首先导入networkx和matplotlib模块
import networkx as nx
import matplotlib.pyplot as plt
>>> import networkx as nx
>>> G = nx.Graph() 定义了一个空图
>>> G.add_node(1) 这个图中增加了1节点
>>> G.add_node('A') 增加'A'节点
>>> G.add_nodes_from([2, 3]) 同时加2和3两个节点
>>> G.add_edges_from([(1,2),(1,3),(2,4),(2,5),(3,6),(4,8),(5,8),(3,7)])
# 增加这么多条边,在下面有举例
>>> H = nx.path_graph(10)
>>> G.add_nodes_from(H)
>>> G.add_node(H)
G.add_node('a')#添加点a
G.add_node(1,1)#用坐标来添加点
G.add_edge('x','y')#添加边,起点为x,终点为y
G.add_weight_edges_from([('x','y',1.0)])#第三个输入量为权值
#也可以
list = [[('a','b',5.0),('b','c',3.0),('a','c',1.0)]
G.add_weight_edges_from([(list)])
我们来看看上面最后一句是什么意思
import matplotlib.pyplot as plt
import networkx as nx
H = nx.path_graph(10