двухколонный двухсторонний макет с играфой - PullRequest
0 голосов
/ 24 сентября 2018

Я пытаюсь построить двудольный граф, но с двумя столбцами;Руководство по функциям гласит, что layout_as_bipartite() «Минимизируйте [s] пересечения ребер в простом двухстрочном (или столбцовом) макете для двудольных графов».Пытаясь на примере, я могу получить только два ряда графиков:

library(igraph)
library(dplyr)
# Random bipartite graph
inc <- matrix(sample(0:1, 50, replace = TRUE, prob=c(2,1)), 10, 5)
g <- graph_from_incidence_matrix(inc)
plot(g, layout = layout_as_bipartite,
     vertex.color=c("green","cyan")[V(g)$type+1])

# Two columns
g %>%
  add_layout_(as_bipartite()) %>%
  plot()

1 Ответ

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

Похоже, что layout_as_bipartite делает только строки, а не столбцы, но легко изменить результирующий макет.Макет представляет собой просто координаты XY для узлов, поэтому для перехода от строк к столбцам просто переключите X и Y.

LO = layout_as_bipartite(g)
LO = LO[,c(2,1)]
plot(g, layout = LO, vertex.color=c("green","cyan")[V(g)$type+1])

Bipartite with Columns

...