不可否認,日常中我們使用最多的還是,使用自己的數據去手動創建自己的圖形,而不是使用生成器,現從給graph添加點
和邊入手,講解手動創建graph.
目錄:
注意:如果代碼出現找不庫,請返回第一個教程,把庫文件導入.
3.給graph添加節點
- from math import ceil
- #該函數由於顯示一組graph,傳上來的是一組graph和這些graph的描述.
- def ShowGraph(glists,ginfo,rowsize=4):
-
- #每行放rowsize個,計算可以放多少行
- row=ceil(len(glists)/rowsize)
-
- #定義組圖
- plt.subplots(row,rowsize,figsize=(15,3))
-
- #開始畫圖
- for ind in range(len(glists)):
- #定義子圖
- plt.subplot(row,rowsize,ind+1)
- nx.draw(glists[ind],with_labels=True, font_weight='bold')
-
- #設置圖片
- plt.title(ginfo[ind],fontproperties=myfont)
- plt.axis('on')
- plt.xticks([])
- plt.yticks([])
- plt.show()
- #添加單個節點
- G1=nx.Graph()
- G1.add_node(1)
- G1.add_node("spam")
- #添加一組節點
- G2=nx.Graph()
- G2.add_nodes_from([2, 3])
- G2.add_nodes_from("spam")
- #使用生成器
- G3=nx.Graph()
- H = nx.path_graph(10)
- G3.add_nodes_from(H)
- #注意:G1.add_nodes_from(H)表示用H中的節點表示G1這個graph,如果要往G1這個graph添加H這個graph,形成graph中的graph,可以使用以下命令
- G4= nx.Graph()
- G4.add_node(1)
- G4.add_node(H)
- glists=[G1,G2,G3,G4]
- ginfo=['添加單個節點','添加一組節點','使用生成器','添加子圖']
- ShowGraph(glists,ginfo)

給graph添加節點
4.給graph添加邊
- #刪除前面的graph
- G1.clear()
- G2.clear()
- G3.clear()
- G4.clear()
- #添加單邊
- G1=nx.Graph()
- G1.add_edge(1,2)
- G1.add_edge(3, 'm')
- #添加一組邊
- G2=nx.Graph()
- e=(2,3)
- G2.add_edge(*e)
- #添加多組邊
- G3=nx.Graph()
- G3.add_edges_from([(3,4),(4,2)])
- #使用邊生成器
- G4= nx.Graph()
- H = nx.path_graph(10)
- G4.add_edges_from(H.edges)
- #添加一組有權邊
- G5=nx.Graph()
- G5.add_weighted_edges_from([('a', 'b', 5.0), ('b', 'c', 3.0), ('a', 'c', 1.0), ('c', 'd', 7.3)]) #邊上權重顯示看設置graph信息->指定邊屬性
- glists=[G1,G2,G3,G4,G5]
- ginfo=['添加單邊','添加一組邊','添加多組邊','使用邊生成器','添加一組有權邊']
- ShowGraph(glists,ginfo,rowsize=5)

給graph添加邊