2010-01-14 97 views

回答

0

自己計算補充,然後繪製它。

+0

不是我NVR想到了這一點的補充,它只是有時補是很難計算,尤其如果u HV許多節點和邊緣原始圖 – yeeen 2010-01-15 01:22:15

+0

所以跟進qn是否有任何軟件或在線工具可以完成它 – yeeen 2010-01-15 09:27:11

+0

那麼,graphviz是一個很好的繪圖。你有多少個節點和頂點?什麼是輸入格式? – 2010-01-15 15:03:11

5

鑑於您想要在graphviz中呈現圖形,我建議使用python庫networkx來計算圖形補充。 Networkx是圖論分析的優秀庫;它也與graphviz有一個無縫接口。 (圖形補充的粗略定義:想象一個圖A',它具有與A相同的節點,但它具有所有可能的邊,即每個節點都連接到每個其他節點;現在從A'移除邊在A;剩下的就是A,A')

import networkx as NX 
G = NX.gnm_random_graph(10, 10) # create a random graph w/ 10 nodes, 10 edges 
G_cmpl = NX.complement(G)   # get the complement of graph 'G' 

# to render it in graphviz: 
NX.write_dot(G_cmpl, "somefilename.dot") 
+0

這看起來像我想要的。但是,我如何使用下載的Python Egg文件安裝networkx? install.txt中的快速下載僅說「從Python包索引中獲取NetworkX,網址爲http://pypi.python.org/pypi/networkx 或使用:: easy_install networkx進行安裝,並嘗試查找並安裝適合您的操作系統和Python版本的合適版本 「。 我已經安裝了Python btw。 – yeeen 2010-01-17 00:51:11

+0

您需要安裝'setuptools'以便能夠通過'egg'安裝包。我不知道您的操作系統,因此以下是分步指南的鏈接:http://peak.telecommunity.com/DevCenter/EasyInstall。如果你不想使用setuptools('eggs')進行安裝,請轉到Networkx存儲庫(http://networkx.lanl.gov/download/networkx/)dll並解壓縮適用於您的操作系統的最新版本,打開shell,cd到軟件包的頂層目錄,然後在shell提示符處輸入'sudo python setup.py install'(不帶引號)。這將安裝它。 – doug 2010-01-17 02:49:15