當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python NetworkX spring_layout用法及代碼示例


本文簡要介紹 networkx.drawing.layout.spring_layout 的用法。

用法:

spring_layout(G, k=None, pos=None, fixed=None, iterations=50, threshold=0.0001, weight='weight', scale=1, center=None, dim=2, seed=None)

使用Fruchterman-Reingold force-directed算法定位節點。

該算法模擬網絡的force-directed 表示,將邊視為使節點靠近的彈簧,同時將節點視為排斥對象,有時稱為反重力。模擬繼續進行,直到位置接近平衡。

有一些 hard-coded 值:節點之間的最小距離 (0.01) 和 0.1 的 “temperature” 以確保節點不會飛走。在模擬過程中,k 幫助確定節點之間的距離,但在模擬結束時重新縮放後,scalecenter 確定大小和位置。

修複一些節點不允許它們在模擬中移動。它還會在模擬結束時關閉重新縮放函數。此外,將scale 設置為 None 會關閉重新縮放。

參數

GNetworkX 圖或節點列表

G 中的每個節點都會分配一個位置。

k浮點數(默認=無)

節點之間的最佳距離。如果沒有,則距離設置為 1/sqrt(n),其中 n 是節點數。增加此值可將節點移得更遠。

posdict 或 None 可選(默認=無)

節點的初始位置作為字典,節點作為鍵,值作為坐標列表或元組。如果沒有,則使用隨機初始位置。

fixed列表或無可選(默認=無)

節點保持固定在初始位置。不在G.nodes 中的節點將被忽略。 ValueError 如果指定了 fixed 而未指定 pos,則會引發 ValueError。

iterationsint 可選(默認=50)

最大迭代次數

threshold: float optional (default = 1e-4)

節點位置變化相對誤差的閾值。如果誤差低於此閾值,則迭代停止。

weight字符串或無可選(默認='weight')

保存用於邊權重的數值的邊屬性。更大意味著更強的吸引力。如果無,則所有邊權重為 1。

scale數字或無(默認值:1)

位置的比例因子。除非 fixed is None 否則不使用。如果 scale 為 None,則不執行重新縮放。

center類似數組或無

使布局居中的坐標對。除非 fixed is None 否則不使用。

dimint

布局的維度。

seedint、RandomState 實例或 None 可選(默認 = None)

設置確定性節點布局的隨機狀態。如果是 int,seed 是隨機數生成器使用的種子,如果是 numpy.random.RandomState 實例,seed 是隨機數生成器,如果是 None,則隨機數生成器是 numpy 使用的 RandomState 實例。隨機的。

返回

posdict

由節點鍵入的位置字典

例子

>>> G = nx.path_graph(4)
>>> pos = nx.spring_layout(G)

# 同樣使用更長但等效的函數名 >>> pos = nx.fruchterman_reingold_layout(G)

相關用法


注:本文由純淨天空篩選整理自networkx.org大神的英文原創作品 networkx.drawing.layout.spring_layout。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。