簡體   English   中英

在Python中繪制Networkx圖

[英]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()

當我連續兩次運行該代碼時,相同代碼的輸出如圖像所示(圖的方向是隨機的)

圖片1圖片2

是否可以以相同/固定方向生成圖的輸出?

默認情況下,使用彈簧布局繪制圖形。 每次繪制時都可以具有新的方向。

還有其他可用的布局。

在此處輸入圖片說明

使用例如nx.draw_circularnx.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM