Web结构可视化中的EdgeLabels

时间:2011-10-12 14:59:29

标签: wolfram-mathematica visualization mathematica-8

我一直在玩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[]命令的方法。我想在每一行上写下每个链接,只是为了了解链接集群的确切含义。

我已经尝试将生成的Hyperlink连接列表应用到它,但是没有用,并且堆栈/ cookbook上的文档/其他地方也没有任何明显的命令。

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

2 个答案:

答案 0 :(得分: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}]

enter image description here 我希望这会有所帮助。

BR

答案 1 :(得分:6)

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]

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