2014-10-30 40 views
0

我試圖繪製一個非常大的擁有大約5000個節點和100000條邊的networkx圖形。它代表了大城市的路網。我無法確定電腦是否掛着,或者它是否只是永久存在。它似乎掛在的代碼行如下:在網絡x中繪製非常大的圖形

##a is my network 
pos = networkx.spring_layout(a) 

是否有更好的方法來繪製這樣一個大型網絡?

+0

如果是城市的道路網絡,那麼您可能有節點(路口)的位置是正確的?爲什麼不使用這些?您可能不會「看到」100萬條邊的力導向佈局非常有趣。 – Aric 2014-10-30 02:57:48

回答

0

這是個好消息。是的,它沒有損壞,它正在工作,即使你可以,你也不想等。 查看我對這個問題的回答,看看你的最終結果是什麼樣子。 Drawing massive networkx graph: Array too big

我認爲春天的佈局是一個n^3算法,這將需要125,000,000,000的計算來獲得圖形的位置。最好的辦法是選擇不同的佈局類型或自己繪製位置。

因此,另一種方法是使用名爲gephi的工具自行提取相關的點。

0

正如阿里克所說,如果你知道位置,那可能是最好的選擇。

如果您只是知道距離,但沒有插入位置,那麼您可以進行一些計算,這樣可以很好地重現位置(最多輪換一次)。如果您對距離進行主成分分析並將其投影到2維空間中,則估算地理位置可能會做得很好。 (這是我在線性代數類中看到過的一個例子)