目录
创建一个图
节点
边
查看图上点和边的信息
图的属性设置
点的属性设置
边的属性设置
不同类型的图(有向图Directed graphs , 重边图 Multigraphs)
图的遍历
图生成和图上的一些操作
图上分析
图的绘制
1. 创建一个图
import networkx as nx
g = nx.Graph()
g.clear() #将图上元素清空
所有的构建复杂网络图的操作基本都围绕这个g来执行。
2. 节点
节点的名字可以是任意数据类型的,添加一个节点是
g.add_node(1)
g.add_node("a")
g.add_node("spam")
添加一组节点,就是提前构建好了一个节点列表,将其一次性加进来,这跟后边加边的操作是具有一致性的。
g.add_nodes_from([2,3])
or
a = [2,3]
g.add_nodes_from(a)
这里需要值得注意的一点是,对于add_node加一个点来说,字符串是只添加了名字为整个字符串的节点。但是对于add_nodes_from加一组点来说,字符串表示了添加了每一个字符都代表的多个节点,exp:
g.add_node("spam") #添加了一个名为spam的节点
g.add_nodes_from("spam") #添加了4个节点,名为s,p,a,m
g.nodes() #可以将以上5个节点打印出来看看
加一组从0开始的连续数字的节点
H = nx.path_graph(10)
g.add_nodes_from(H) #将0~9加入了节点
#但请勿使用g.add_node(H)
删除节点
与添加节点同理
g.remove_node(node_name)
g.remove_nodes_from(nodes_list)
3. 边
边是由对应节点的名字的元组组成,加一条边
g.add_edge(1,2)
e = (2,3)
g.add_edge(*e) #直接g.add_edge(e)数据类型不对,*是将元组中的元素取出
加一组边
g.add_edges_from([(1,2),(1,3)])
g.add_edges_from([("a","spam") , ("a",2)])
通过nx.path_grap