小书匠Graph图论

不可否认,日常中我们使用最多的还是,使用自己的数据去手动创建自己的图形,而不是使用生成器,现从给graph添加和边入手,讲解手动创建graph.

目录:


注意:如果代码出现找不库,请返回第一个教程,把库文件导入.

3.给graph添加节点

  1. from math import ceil 


  2. #该函数由于显示一组graph,传上来的是一组graph和这些graph的描述. 

  3. def ShowGraph(glists,ginfo,rowsize=4): 


  4. #每行放rowsize个,计算可以放多少行 

  5. row=ceil(len(glists)/rowsize) 


  6. #定义组图 

  7. plt.subplots(row,rowsize,figsize=(15,3)) 


  8. #开始画图 

  9. for ind in range(len(glists)): 

  10. #定义子图 

  11. plt.subplot(row,rowsize,ind+1) 

  12. nx.draw(glists[ind],with_labels=True, font_weight='bold') 


  13. #设置图片 

  14. plt.title(ginfo[ind],fontproperties=myfont) 

  15. plt.axis('on') 

  16. plt.xticks([]) 

  17. plt.yticks([]) 

  18. plt.show() 

  1. #添加单个节点 

  2. G1=nx.Graph() 

  3. G1.add_node(1) 

  4. G1.add_node("spam") 


  5. #添加一组节点 

  6. G2=nx.Graph() 

  7. G2.add_nodes_from([2, 3]) 

  8. G2.add_nodes_from("spam") 


  9. #使用生成器 

  10. G3=nx.Graph() 

  11. H = nx.path_graph(10) 

  12. G3.add_nodes_from(H) 


  13. #注意:G1.add_nodes_from(H)表示用H中的节点表示G1这个graph,如果要往G1这个graph添加H这个graph,形成graph中的graph,可以使用以下命令 

  14. G4= nx.Graph() 

  15. G4.add_node(1) 

  16. G4.add_node(H) 


  17. glists=[G1,G2,G3,G4] 

  18. ginfo=['添加单个节点','添加一组节点','使用生成器','添加子图'] 

  19. ShowGraph(glists,ginfo) 

NetworkX系列教程(3)-手动创建graph-LMLPHP
给graph添加节点

4.给graph添加边

  1. #删除前面的graph 

  2. G1.clear() 

  3. G2.clear() 

  4. G3.clear() 

  5. G4.clear() 


  6. #添加单边 

  7. G1=nx.Graph() 

  8. G1.add_edge(1,2) 

  9. G1.add_edge(3, 'm') 


  10. #添加一组边 

  11. G2=nx.Graph() 

  12. e=(2,3) 

  13. G2.add_edge(*e) 


  14. #添加多组边 

  15. G3=nx.Graph() 

  16. G3.add_edges_from([(3,4),(4,2)]) 


  17. #使用边生成器 

  18. G4= nx.Graph() 

  19. H = nx.path_graph(10) 

  20. G4.add_edges_from(H.edges) 


  21. #添加一组有权边 

  22. G5=nx.Graph() 

  23. G5.add_weighted_edges_from([('a', 'b', 5.0), ('b', 'c', 3.0), ('a', 'c', 1.0), ('c', 'd', 7.3)]) #边上权重显示看设置graph信息->指定边属性 


  24. glists=[G1,G2,G3,G4,G5] 

  25. ginfo=['添加单边','添加一组边','添加多组边','使用边生成器','添加一组有权边'] 

  26. ShowGraph(glists,ginfo,rowsize=5) 

NetworkX系列教程(3)-手动创建graph-LMLPHP
给graph添加边
05-18 08:12