EdgeLabels в визуализации веб-структуры


Я играл с визуализацией Mathematica и возможностями webcrawling. Основываясь на некотором демонстрационном коде, я могу визуализировать сеть А. Вот пример на веб-странице университета:

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[] команда. Я хотел бы, чтобы каждая ссылка была написана на каждой строке, просто чтобы дать представление о том, что именно представляют собой кластеры ссылок.

Я пробовал применить сгенерированный список Гиперссылочных соединений к нему, которые не работали, и ни одна из легко очевидных команд из документации/в другом месте на стеке/поваренной книги.

Я представляю себе очень загроможденный выход.

2 4

2 ответа:

Я не знаю, как будет выглядеть метка ребра в случае большого графика. Но вот как это можно сделать в Mathematica 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}]

Введите описание изображения здесьНадеюсь, это поможет.

BR

Поместите EdgeLabels внутрь Tooltips

Ниже будут показаны имена как ребер, так и вершин в виде подсказок. (Вы можете удалить 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]

Это должно быть полезно для просмотра сети. Но, конечно, он не будет печатать этикетки.