[英]Plotting Networkx graph in Python
我最近開始在python中使用networkx庫來生成和可視化圖形圖。 我從一個簡單的代碼(包含4個節點)開始,如下所示
import networkx as nx
import matplotlib.pyplot as plt
G = nx.Graph()
G.add_edges_from([(1 ,2) , (2 ,3) , (1 ,3) , (1 ,4) ])
nx.draw(G)
plt.show()
當我連續兩次運行該代碼時,相同代碼的輸出如圖像所示(圖的方向是隨機的)
是否可以以相同/固定方向生成圖的輸出?
默認情況下,使用彈簧布局繪制圖形。 每次繪制時都可以具有新的方向。
還有其他可用的布局。
使用例如nx.draw_circular
或nx.draw_spectral
將始終為您提供相同的布局。
您也可以使用字典定義節點的位置,該字典將nodenumber映射到一個位置。
import networkx as nx
import matplotlib.pyplot as plt
G = nx.Graph()
G.add_edges_from([(1 ,2) , (2 ,3) , (1 ,3) , (1 ,4) ])
pos = { 1: (20, 30), 2: (40, 30), 3: (30, 10),4: (0, 40)}
nx.draw_networkx(G, pos=pos)
plt.show()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.