2012-10-19 25 views
1

在我的數據庫中我已經得到了節點和邊。創建強制定向佈局gexf文件與節點位置生成

位置必須在gexf代已經產生,該節點必須不重疊和

產生這種圖形的:

我使用Sigma.js爲Presentating的曲線圖。

我怎樣才能計算節點發布與力指導alogrithm,與根項目?

還是有一個佈局,可以從節點和邊緣生成一個不重疊的佈局,並輸出像這樣的PNG上面?

編輯:

生成節點位置的PHP代碼:

function _generate_gexf_node($test=false){ 
     $count = 0;  
    foreach ($node_array as $node) { 
     $node_size = '22.714287'; 
     $node_poz = ' x="'.rand(10, 300).'" y="'.rand(10, 300).'" z="'.rand(10, 300).'" '; 
     $node_color = ' b="45" g="72" r="216" '; 
     $data['node'][] = '<node id="'.$node['node_id'].'" label="'.$node['label'].'"> 
    <attvalues> 
    <attvalue for="authority" value="0.01880342"/> 
    <attvalue for="hub" value="0.01880342"/> 
    </attvalues> 
    <viz:size value="'.$node_size.'"/> 
    <viz:color '.$node_color.'/> 
    <viz:position '.$node_poz.'/> 
    </node> 
     '; 
     $count++; 
    } 
      return $data; 
     } 

我怎麼能gnerete在 「運行」 位置,喜歡這個?

我在哪裏可以找到YiFan Hu Force執行算法的實現?

還是特殊的Bubble佈局實現?

+0

那麼你實際上應該至少說明了PHP代碼和相應的數據(文件?)你有這麼遠的gexf文件生成,因爲是用PHP OUT-沒有標準的圖形庫的即裝即用。 – hakre

+0

我編輯帖子 – Joseph

+0

Gephi使用YiFanHU多級算法。 我的測試是,它使隨機佈局非常好。 http://wiki.gephi.org/index.php/YifanHu_Multilevel 我如何使用這個與PHP?或者有執行? – Joseph

回答

1

此刻,我還在Web圖形可視化上工作,但使用JavaScript。 這裏存在一個稱爲gexf-js(https://github.com/raphv/gexf-js) 的好項目,但這只是繪製圖形。

對於佈局的東西我使用了gephi庫(這是用java實現的) 你可以在這裏下載它https://gephi.org/toolkit/。而且我發現一個很好的例子 爲YifanHu佈局算法。

如果它可能是一個手動任務,而不是您可以在gephi程序中導入您的gexf文件 runt您想要的layouter並將其導出爲gexf。工具包庫中也提供了大多數的gephi程序 中的所有功能。

希望這有助於 愉快的一天