我一直在玩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上的文档/其他地方也没有任何明显的命令。
我设想一个非常杂乱的输出。
答案 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}]
我希望这会有所帮助。
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]
浏览网络应该会有所帮助。但当然,它不会打印出标签。