2

igraph の tkplot 関数に座標のマトリックスを供給する方法はありますか? レイアウト引数を座標のマトリックスに設定しようとしましたが、空白のプロットが生成されます。

座標を plot.igraph() にフィードして、必要な場所に頂点がある有向の加重エッジ プロットを作成できます。しかし、矢印はファンキーです。矢印はエッジの下に配置されるため、エッジが十分に広い場合 (私の一部はそうです)、矢印は少なくとも部分的に隠されます。エッジと矢印の幅を変更しようとしましたが、一部のエッジの重みが強すぎます。tkplot で生成された矢印は、私が望むものに近いものです。

以下の最初のプロットは、plot.igraph で作成された望ましくない矢印に対応しています。2 番目のプロットは、tkplot からの目的の矢印です。

いらない矢:

バッドアロウズ

私が欲しい矢:

グッドアローズ

どちらか一方を行う必要がある理由は、ノードがまったく同じ場所にあるこれらのグラフをさらにいくつか作成する必要があり、tkplot を使用して手動で移動し続ける必要がないためです。毎回周りのノード。かなりの数があり、以前とまったく同じ位置に配置することも不可能です。

うまくいけば、これは十分に具体的です。初めて投稿するので、他にどんな情報を載せたらいいのか教えてください。R 2.15 と 2.11 を実行しているマシン、および igraph パ​​ッケージ 0.5.5 と igraph 0.6.5 で tkplot 座標を指定しようとしました。

これがどこかにある場合、時間を無駄にして本当に申し訳ありません。私はしばらくの間、卒業生の PI と頭を合わせて考えてみましたが、ここ数日間行き止まりにぶつかっています。フィードバックをお寄せいただきありがとうございます。

4

1 に答える 1

0

残念ながら、矢印の外観を変更することはできません。特に醜いので、これはひどいことに同意します。

もう少し建設的にするためtkplot()に、あなたはプロットをするために使うことができます、あなたは実際にそれらをファイルに保存することをいくつかのトリックと内部のigraph関数を使って自動化することができます。以下に例を示します。これで十分ですか?

library(igraph)
set.seed(1)
g <- graph.star(10, center=10) %u% graph.ring(9, directed=TRUE)
E(g)$width <- sample(1:10, ecount(g), replace=TRUE)
lay <- layout.auto(g)

id <- tkplot(g, layout=lay)
tkp <- igraph:::.tkplot.get(id)
tkpostscript(tkp$canvas, file="/tmp/output.eps")
tkplot.close(id)

プロット

于 2013-03-22T20:51:02.307 に答える