python画多层网络

python画多层网络

什么是networkx?

networkx在02年5月产生,是用python语言编写的软件包,便于用户对复杂网络进行创建、操作和学习。利用networkx可以以标准化和非标准化的数据格式存储网络、生成多种随机网络和经典网络、分析网络结构、建立网络模型、设计新的网络算法、进行网络绘制等。 ——百度百科

我们可以用networkx做什么?

画图

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)

G.add_nodes_from(H)

nx.draw(G, with_labels=True)

plt.show()

生成了标号为0到9的十个点!别急

相关推荐