network

import networkx as nx
g=nx.Graph()#创建空的无向图
g=nx.DiGraph()#创建空的有向图

1.增加节点  g.add_node(1) g.add_nodes_from([2,3,4])

2.添加属性 g.add_node(1,name="n1",weight=1)

3.查看属性  g._node   # 返回字典  {1: {'name': 'n1', 'weight': 1}, 2: {'name': 'n2', 'weight': 1.3}}

4.跟新顶点  g._node[2].update({"name":"qiao"})

5.删除顶点    g.remove_node(1)

6.删除节点的属性  del g.nodes[2]["weight"]

7.检查节点是否存在 g.has_node(2)

8.在图中增加边 g.add_edge(2,3) g.add_edges_from([(1,2),(1,3)])

9. 为多条边增加属性  g.add_edges_from([(1,2,{"color":"blue"}),(2,3,{"weight":8})])

10. 内置函数增加权重 g.add_weighted_edges_from([(1,2,0.125),(1,3,0.75),(2,4,1.2),(3,4,0.375)])

11.跟新边的属性 g[1][2]["weight"]=0.1 g[1][2].update({"weight":4.7})

12.删除边 g.remove_edges_from([(2,4),(2,3)])

13.删除边的属性del g[1][2]["color"]

14.检查边的属性是否存在 g.has_edge(1,2)

15.查看顶点的相邻顶点 g[1]  ,g.adj[1] ,list(g.neighbors(1))

16.查看图的相邻 

    for n,nbrs in g.adjacency():
         print(n)
         print(nbrs)

17.图的遍历

for n,nbrs in g.adjacency():
    print(n,nbrs)
   for nbr,attr in nbrs.items():
        print(nbr,attr)

18.绘制Graph

import matplotlib.pyplot as plt
g=nx.Graph()
g.add_nodes_from([1,2,3])
g.add_edges_from([(1,2),(1,3)])
nx.draw_networkx(g)
plt.show()

18.计算每个顶点的PageRank值

g1=nx.DiGraph()
g1.add_weighted_edges_from([("A","B",0.5),("A","C",0.5)])
pr=nx.pagerank(g1)
for node,pagerankvalue in pr.items():
print(node,pagerankvalue)

 

posted on 2019-07-13 16:22  happygril3  阅读(215)  评论(0)    收藏  举报

导航