R (igraph): ориентация ребра, начинающегося и заканчивающегося из одной вершины - PullRequest
0 голосов
/ 19 сентября 2018

Я хочу изменить ориентацию ребер, которые начинаются и заканчиваются в одной и той же вершине.Когда я использую plot.igraph, все эти ребра обращены вправо, что означает, что вершины, которые находятся на левой стороне круга, будут перекрывать ребра с другими ребрами.Кто-нибудь знает, как мы можем контролировать их направления, например указывать на внешнюю сторону круга?Ниже приведена фактическая цифра, которую я хочу отредактировать.

Example of problem

Небольшой пример, с которым вы можете поиграть, опубликован ниже:

library(igraph)
g <- data.frame(start=c("a","a","b","b", "c", "c"), end=c("a","b","b","c", "c", "a"))
graph <- graph.data.frame(g, directed = T)
plot(graph, layout = layout.circle(graph))

enter image description here

1 Ответ

0 голосов
/ 19 сентября 2018

Вы можете управлять этим параметром edge.loop.angle.
См. Страницу справки ?igraph.plotting

plot(graph, layout = layout.circle(graph), 
     edge.loop.angle=c(0,0,4*pi/3,0, 2*pi/3,0))

Graph with angled loops

Обратите внимание, чтовам нужен угол для всех ребер, а не только для петель, хотя это относится только к петлям.Кроме того, кажется, что угол дает величину вращения по часовой стрелке от горизонтали.

...