2014-02-27 151 views
1

我一直在尋找各地(igraph-python docs,c reference manual),我似乎無法找到所使用的各種佈局算法的python-igraph模塊中的代碼的痕跡。我在哪裏可以找到igraph佈局源代碼?

在iPython中,我可以做Graph.layout_kamada_kawai?Graph.layout_kamada_kawai??。前者給了我一個類似C的文檔字符串,而後者在__init__.py中給了我幾行代碼,這絕對不是佈局算法。

如果這些算法的代碼(特別是kamada_kawai)在C核心發行版中,如果您可以指向我的源代碼目錄,那也會很棒。我在Linux上。

回答

2

python-igraph只是igraph C庫的一個包裝,所有的資源都在github上。您正在尋找的佈局算法在這裏: https://github.com/igraph/igraph/blob/master/src/layout.c

實際上,其中一些例如Kamada-Kawai剛剛在igraph的開發版本中被重寫。這個新版本現在完全遵循原始紙張,與舊版本相比,它大約快100倍(對於具有500個頂點的圖表)。它在這裏: https://github.com/igraph/igraph/blob/develop/src/layout_kk.c

+0

感謝您對開發版本的單挑。 – jayelm

2

我想我可能已經通過下載igraph的源代碼來找到你要找的東西,在這裏http://pypi.python.org/packages/source/p/python-igraph/python-igraph-0.6.5.tar.gz解壓縮到一個臨時目錄,然後轉到終端中的python-igraph-0.6.5/src子目錄。

grep -rn layout_kamada_kawai ./告訴我一個叫做igraphmodule_Graph_layout_kamada_kawai的函數,在6029行和12925在graphobject.c文件中。

這是你在哪裏尋找?

+0

我遇到的問題是我查看了源代碼和文檔,但仍然無法找到它。 – jayelm

+0

我在嘲笑周圍,似乎圖的核心是用C++編寫的(http://igraph.wikidot.com)。你有沒有嘗試在http://pypi.python.org/packages/source/p/python-igraph/python-igraph-0.6.5.tar.gz下載源代碼。抱歉誤解你的問題。 – Ron

+0

@Ron:igraph是一個C庫,python-igraph是它的包裝。 C庫不包含在包裝器中,因此OP所尋找的來源將不在pypi包中。 –

相關問題