library(igraph)
g <- make_graph("Dodecahedron")
n <- gorder(g)
T <- bfs_tree(g, 1) # BFS tree
eT <- as_edgelist(T)
eG <- as_edgelist(g)
C <- generate_fundamental_cycles(eT, eG) # Fundamental cycles
mu <- gsize(g) - gorder(g) + 1 # Cyclomatic number
z <- layout_with_gem(g)
for (i in 1:mu) { # Cycle drawing
c1 <- make_graph(t(eG[which(C[i,] == 1),]), n = n, dir = FALSE)
plot(g, layout = z)
plot(c1, layout = z, add = TRUE, edge.color = "cyan4",
edge.lty = "dashed", edge.width = 3)
title(paste0("Cycle ", i, " of ", mu))
#Sys.sleep(2) # Adjust time to see the cycles
}
Run the code above in your browser using DataLab