4

私はMathematicaの視覚化とウェブクロール機能で遊んでいます。いくつかのデモンストレーションコードに基づいて、ネットワークを視覚化することができます。大学のWebページの例を次に示します。

webcrawler[rooturl_, depth_] :=
  Flatten[Rest[NestList[
       Union[Flatten[Thread[# -> Import[#,"Hyperlinks"]] & /@ Last /@ #]] &, 
       {"" -> rooturl}, depth]]];

Graph[webcrawler[
  "http://www.yorku.ca/", 2], {ImageSize -> Full}]

Graph[]ただし、このコマンドにEdgeLabels[]を適用する方法を見つけようと無駄に努力してきました。リンククラスターが正確に何を表しているのかを理解するために、各行に各リンクを記述してもらいたいと思います。

生成されたハイパーリンク接続のリストを適用しようとしましたが、機能しませんでした。また、ドキュメント/スタックの他の場所/クックブックからすぐにわかるコマンドも機能しませんでした。

私は非常に雑然とした出力を想像しています。

4

2 に答える 2

6

sのEdgeLabels中に置く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 に答える
6

大きなグラフの場合、エッジラベルがどのように見えるかはわかりません。しかし、ここではMathematica8でそれをどのように行うことができるかを説明します。

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 に答える