NetworkX系列教程(3)-手動創建graph


不可否認,日常中我們使用最多的還是,使用自己的數據去手動創建自己的圖形,而不是使用生成器,現從給graph添加和邊入手,講解手動創建graph.

目錄:


注意:如果代碼出現找不庫,請返回第一個教程,把庫文件導入.

3.給graph添加節點

  1. from math import ceil 
  2.  
  3. #該函數由於顯示一組graph,傳上來的是一組graph和這些graph的描述. 
  4. def ShowGraph(glists,ginfo,rowsize=4): 
  5.  
  6. #每行放rowsize個,計算可以放多少行 
  7. row=ceil(len(glists)/rowsize) 
  8.  
  9. #定義組圖 
  10. plt.subplots(row,rowsize,figsize=(15,3)) 
  11.  
  12. #開始畫圖 
  13. for ind in range(len(glists)): 
  14. #定義子圖 
  15. plt.subplot(row,rowsize,ind+1) 
  16. nx.draw(glists[ind],with_labels=True, font_weight='bold') 
  17.  
  18. #設置圖片 
  19. plt.title(ginfo[ind],fontproperties=myfont) 
  20. plt.axis('on') 
  21. plt.xticks([]) 
  22. plt.yticks([]) 
  23. plt.show() 
  1. #添加單個節點 
  2. G1=nx.Graph() 
  3. G1.add_node(1) 
  4. G1.add_node("spam") 
  5.  
  6. #添加一組節點 
  7. G2=nx.Graph() 
  8. G2.add_nodes_from([2, 3]) 
  9. G2.add_nodes_from("spam") 
  10.  
  11. #使用生成器 
  12. G3=nx.Graph() 
  13. H = nx.path_graph(10) 
  14. G3.add_nodes_from(H) 
  15.  
  16. #注意:G1.add_nodes_from(H)表示用H中的節點表示G1這個graph,如果要往G1這個graph添加H這個graph,形成graph中的graph,可以使用以下命令 
  17. G4= nx.Graph() 
  18. G4.add_node(1) 
  19. G4.add_node(H) 
  20.  
  21. glists=[G1,G2,G3,G4] 
  22. ginfo=['添加單個節點','添加一組節點','使用生成器','添加子圖'] 
  23. ShowGraph(glists,ginfo) 

png
給graph添加節點

4.給graph添加邊

  1. #刪除前面的graph 
  2. G1.clear() 
  3. G2.clear() 
  4. G3.clear() 
  5. G4.clear() 
  6.  
  7. #添加單邊 
  8. G1=nx.Graph() 
  9. G1.add_edge(1,2) 
  10. G1.add_edge(3, 'm') 
  11.  
  12. #添加一組邊 
  13. G2=nx.Graph() 
  14. e=(2,3) 
  15. G2.add_edge(*e) 
  16.  
  17. #添加多組邊 
  18. G3=nx.Graph() 
  19. G3.add_edges_from([(3,4),(4,2)]) 
  20.  
  21. #使用邊生成器 
  22. G4= nx.Graph() 
  23. H = nx.path_graph(10) 
  24. G4.add_edges_from(H.edges) 
  25.  
  26. #添加一組有權邊 
  27. G5=nx.Graph() 
  28. G5.add_weighted_edges_from([('a', 'b', 5.0), ('b', 'c', 3.0), ('a', 'c', 1.0), ('c', 'd', 7.3)]) #邊上權重顯示看設置graph信息->指定邊屬性 
  29.  
  30. glists=[G1,G2,G3,G4,G5] 
  31. ginfo=['添加單邊','添加一組邊','添加多組邊','使用邊生成器','添加一組有權邊'] 
  32. ShowGraph(glists,ginfo,rowsize=5) 

png
給graph添加邊


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM