これは実際にはigraphのバグであり、矢印ヘッドが存在しない場合でも、igraphが矢頭のためにある程度のスペースを残しているために起こります。私は次のigraphバージョンで修正します。
回避策として、各エッジを2回重ねてプロットすることができます。このためには、矢印を指示してから矢印を避けるためにedge.arrow.mode
オプションを使用する必要があります。これは、矢印プロッタによってエッジの一方の端だけが変更されたためです。この方法でグラフをプロットするのはいくぶん愚かですが、今はもっと良い回避策を見つけることができません。私が言ったように、新しいバージョン(0.6.4以降のバージョン)ではこの問題は発生しません。
library(igraph)
# Zoom in on the critical region, although the gap always has the
# same size, unless you make the plotting window bigger
g <- graph(c(1,2), directed=FALSE)
par(mar=c(0,0,0,0))
plot(g, edge.width=2, vertex.size=20, edge.color='black', main='',
rescale=FALSE, xlim=c(0.9,1), ylim=c(0.9,1),
layout=rbind(c(0,0), c(1,1)), vertex.color="#ffffff11")
# This plot should have no gaps
g2 <- as.directed(g, mode="mutual")
par(mar=c(0,0,0,0))
plot(g2, edge.width=2, vertex.size=20, edge.color='black', main='',
rescale=FALSE, xlim=c(0.9,1), ylim=c(0.9,1),
layout=rbind(c(0,0), c(1,1)), vertex.color="#ffffff11",
edge.arrow.mode="-")
これは私のために私のために正常に動作します。あなたが描いているのは、正方形ではないプロット領域にプロットしようとすると起こる傾向があるが、実際にその方法を覚えていないことは分かっている。これに関連して、私のパッケージ 'library(" qgraph "); qgraph(edges)'を試すことができます。 –
Windowsの問題が表示されます。ウィンドウのサイズが変更されると、ギャップのサイズが大きくなります。このケースでは非常に小さなギャップですが、私は完成のためのあなたの努力に感謝します。頂点の座標を返すために 'layout()'( 'igraph'関数)を使用して、最初から独自のグラフをプロットすることができますか?最初にエッジをプロットし、次に頂点をプロットします。 – digitalmaps
バグかもしれません。 Btw。プロットのサイズを変更すると、再スケーリングによって丸め誤差が拡大する可能性があるため、プロットを再描画することをお勧めします。 igraphのバグはhttps://bugs.launchpad.net/igraphで報告することをお勧めします。 –