4

我一直在玩 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[]命令的方法,但徒劳无功。我想让每个链接都写在每一行上,只是为了让大家了解链接簇到底代表什么。

我尝试将生成的超链接连接列表应用到它,但它不起作用,并且来自文档/其他地方的堆栈/食谱中的任何显而易见的命令也没有。

我设想一个非常混乱的输出。

4

2 回答 2

6

我不知道在大图的情况下边缘标签的外观如何。但是在这里如何在 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

于 2011-10-12T17:07:05.913 回答
6

放在sEdgeLabels里面Tooltip

下面将显示边和顶点的名称作为工具提示。(当然,您可以删除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]

它应该有助于浏览网络。但当然,它不会打印出标签。

于 2011-10-12T18:51:03.390 回答