R中igraph的R倒数边

meg*_*gyn 4 r graph bidirectional igraph nodes

我正在使用R中的图形.我目前正在使用igraph,我希望能够绘制图形的双向边缘"倒数边缘".到目前为止,我已经看到可以绘制"双向"图​​而不是倒数边,例如:E(1,3)和E(3,1)可能表示为双向边< - >,但是相反,我想绘制两个平行边,一个指向另一个||的相反方向 .在Rgraphviz中存在一个选项,当绘制"情节(rEG,recipEdges ="distinct")"时会产生这种情况,但我更喜欢情节在igraph上的样子.提前致谢.

Sac*_*amp 5

在中igraph,您可以使用edge属性curved来弯曲所需的边.

例如,这是一个基于图的小邻接矩阵:

library("igraph")
adj <- matrix(c(
    0,1,1,
    1,0,1,
    0,0,0),3,3,byrow=TRUE)

library("igraph")
G <- graph.adjacency(adj)
Run Code Online (Sandbox Code Playgroud)

节点0和1之间的边缘是双向的(实际上,它不是,它是两条边,它们看起来像是双向边缘,因为它们是直的):

plot(G)
Run Code Online (Sandbox Code Playgroud)

要更改此设置,我们可以使用edgelist:

E <- t(apply(get.edgelist(G),1,sort))

E(G)$curved <- 0
E(G)[duplicated(E) | duplicated(E,fromLast =TRUE)]$curved <- 0.2

plot(G)
Run Code Online (Sandbox Code Playgroud)

另一个选项是我的包,这是默认行为:

library("qgraph")
qgraph(adj)
Run Code Online (Sandbox Code Playgroud)

可以用bidirectional参数来抑制.