2012-06-04 40 views
5

我有一個非常大的邊緣列表,我只想繪製具有特定重量的邊緣,我該怎麼做?僅繪製具有特定重量的邊緣 - igraph

到目前爲止我試過

plot.graph(E(sgdf)[E(sgdf)$weight==3])) 

,但我總是得到這個錯誤

Error in V(g) : Not a graph object 
+1

你的意思是'igraph'包嗎?你的意思是'plot.igraph'?你能提供一個最小重現的例子嗎? –

+0

iGraph軟件包。 – Jose187

+0

嗯。 CRAN上沒有該名稱的包(http://cran.r-project.org/web/packages/available_packages_by_name.html#available-packages-I)。你從哪裏下載它? –

回答

11

先複製您的圖表,刪除你不需要的邊緣,並繪製休息:

> sgdf.copy <- delete.edges(sgdf, which(E(sgdf)$weight != 3)-1) 
> plot(sgdf.copy) 

-1需要在delete.edges,因爲igraph使用z基於ero的邊緣指數,而R使用基於1的指數。

更新:作爲一名匿名編輯(其編輯被遺憾地拒絕)指出,igraph使用了從圖片0.6開始的1-base邊緣索引。因此,僅在使用igraph 0.5.x或更早版本時才減1。