EdgeLabels в визуализации веб-структуры - PullRequest
4 голосов
/ 12 октября 2011

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

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 ]

6 голосов
/ 12 октября 2011

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

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

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

6 голосов
/ 12 октября 2011

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

enter image description here Надеюсь, это поможет.

BR

...