2011-10-12 99 views
4

我一直在玩Mathematica的可視化和web抓取功能。基於一些演示代碼,我可以看到網絡。這裏有一所大學網頁的例子:Web結構可視化中的EdgeLabels

webcrawler[rooturl_, depth_] := 
    Flatten[Rest[NestList[ 
     Union[Flatten[Thread[# -> Import[#,"Hyperlinks"]] & /@ Last /@ #]] &, 
     {"" -> rooturl}, depth]]]; 

Graph[webcrawler[ 
    "http://www.yorku.ca/", 2], {ImageSize -> Full}] 

不過,我一直在努力徒勞無功找出一種方法來EdgeLabels []適用於本Graph[]命令。我希望在每一行上都寫上每個鏈接,只是爲了瞭解鏈接集羣代表的是什麼。

我試過將生成的超鏈接連接列表應用到它,它沒有工作,也沒有任何顯而易見的命令從文檔/其他地方/堆棧/食譜。

我設想一個非常混亂的輸出。

+0

你的代碼缺少一個領先的'{',我不知道我是否正確。所以,請檢查它。 – rcollyer

+0

我運行了你的代碼(使用@rcollyer mods),你的圖形如此混亂以至於我懷疑任何標籤都是有用的。 –

+0

@rcollyer它現在正在我的系統上工作..我的道歉,當它粘貼到系統中時,我一定會搞砸了。感謝您收到錯誤信息。 –

回答

6

我不知道在大圖的情況下,邊緣標籤的外觀如何。但在這裏它如何能夠在數學8

webcrawler[rooturl_, depth_] := 
Flatten[Rest[ 
NestList[ 
Union[Flatten[ 
    Thread[# -> Import[#, "Hyperlinks"]] & /@ 
    Last /@ #]] &, {"" -> rooturl}, depth]]]; 
dats = webcrawler["http://www.uni-kl.de/", 2]; 
Graph[dats ,EdgeLabels ->Table[dats[[i]] -> dats[[i]][[2]], 
{i,Length[dats]}], {ImageSize -> Full}] 

enter image description here 做我希望這有助於。

BR

+3

+1這是最有趣的「希望這幫助「我讀過 –

+0

太好了 - 非常感謝。相信與否,這會有很大的幫助。 –

+1

最後一行中的變量'el'似乎未定義 –

6

廣場EdgeLabelsTooltip小號

以下將顯示邊緣和頂點工具提示兩者的名字。 (您可以刪除VertexLabels,當然。我列入他們因爲EdgeLabels往往很長。)

data = webcrawler["http://www.yorku.ca/", 2]; 
Graph[data, 
    EdgeLabels -> Placed["Name", Tooltip], 
    EdgeShapeFunction -> "Line", 
    VertexLabels -> Placed["Name", Tooltip], 
    EdgeStyle -> {Orange}, 
    VertexSize -> {"Scaled", 0.007}, 
    ImageSize -> 800] 

它應該是瀏覽網絡的幫助。但當然,它不會打印出標籤。

+0

'EdgeLabels - >放置[「名稱」,工具提示]'是一次性在屏幕上顯示所有邊緣標籤的替代方法。 – DavidC

+0

這是一個非常有用的選擇 - 太棒了! –

+0

我也想過使用工具提示。我的實現使用了Graph [Tooltip [#,#[[2]]]&/ @ data]。不知道這個'Placed'替代品。 –