正如Spacedman所说,你需要做一些编程才能做到这一点.您可以绘制没有自循环的图形,然后添加它们(图形基本上是一个散点图,您可以使用points和类似的函数向它们添加线条),但这不是微不足道的(特别是因为您需要知道节点的边缘,不是他们的中心)并且会导致自我循环被绘制在其他可能看起来不太好的东西之上.
这个周末我已经更新qgraph了自循环的工作原理.qgraph可以用来绘制网络,并应该很好地与igraph.例如:
# An adjacency matrix:
A <- matrix(1,3,3)
library("igraph")
# igraph graph and layout:
Graph <- graph.adjacency(A)
Layout <- layout.circle(Graph)
# Plot in qgraph:
library("qgraph")
qgraph(get.adjacency(Graph,sparse=FALSE),layout=Layout,diag=TRUE,directed=TRUE)
Run Code Online (Sandbox Code Playgroud)

我对这些自我循环的结果非常满意,而且它们似乎更符合你的描述.所以这可能是一个选择.但是,我的循环就像硬编码一样.作为参考,我使用内部函数qgraph:::Cent2Edge计算节点的边缘(循环的起点和终点),并使用内部函数计算循环(样条曲线)的形状qgraph:::SelfLoop.