о том, как получить фиксированные сетевые графы - PullRequest
0 голосов
/ 19 февраля 2020

В igraph, используя layout.fruchterman.reingold (), мы можем применить положение фиксированных узлов. Как мы можем применить одно и то же фиксированное положение, используя ggraph ??

Я хотел бы иметь фиксированное положение узлов в нескольких сетевых графиках, используя одни и те же образцы с данными разных типов.

# library
library(igraph)
set.seed(1)
# create data:
links <- data.frame(
  source=c("A","A", "A", "A", "A","J", "B", "B", "C", "C", "D","I"),
  target=c("B","B", "C", "D", "J","A","E", "F", "G", "H", "I","I"),
  weight=(sample(1:20, 12, replace=T))

)
links$weight
nodes <- data.frame(
  name=LETTERS[1:10],
  carac=c( rep("young",3),rep("adult",2), rep("old",5))
)

# Turn it into igraph object
network <- graph_from_data_frame(d=links, vertices=nodes, directed=F) 

# Make a palette of 3 colors
library(RColorBrewer)
coul  <- brewer.pal(3, "Set1") 

# Create a vector of color
my_color <- coul[as.numeric(as.factor(V(network)$carac))]

library(ggraph)
library(tidygraph)
#

g1<-tbl_graph(nodes, links, directed = FALSE)
coords <- layout.fruchterman.reingold(g1)
# igraph
plot(g1,layout=coords)

#
ggraph(g1, layout = "fr", weights = weight) +geom_edge_density(aes()) +
  geom_edge_link(aes(), alpha = 0.3)+
  geom_node_point()+geom_node_point(aes(colour =carac ),size=6)+
  geom_node_text(aes(label = name),size=4, repel = F) +
  theme_graph()

Имеет ли ggraph подобная функция ??

Буду очень признателен за вашу помощь.

...