У меня есть график с < 100 узлов, с несколькими категориями. Я хотел бы, чтобы узлы, принадлежащие одной категории, были в центре, а остальные узлы располагались равномерно по кругу вокруг - как звездный график, но с несколькими узлами в центре. NodeXL называет это полярный график (см: http://www.connectedaction.net/2013/03/03/how-to-plot-a-network-in-a-polar-layout-using-nodexl/) Учитывая эти данные из руководства для графов из dataframes:Как создать полярный график сети (несколько колец) в igraph & R
actors<-data.frame(name=c("Alice", "Bob", "Cecil", "David",
"Esmeralda"),
age=c(48,33,45,34,21),
gender=c("F","M","F","M","F"))
relations <- data.frame(from=c("Bob", "Cecil", "Cecil", "David",
"David", "Esmeralda"),
to=c("Alice", "Bob", "Alice", "Alice", "Bob", "Alice"),
same.dept=c(FALSE,FALSE,TRUE,FALSE,FALSE,TRUE),
friendship=c(4,5,5,2,1,1), advice=c(4,5,5,4,2,3))
g <- graph.data.frame(relations, directed=TRUE, vertices=actors)
Что делать, если я хочу, чтобы женщины в центре и самцов, расположенных по кругу вокруг? Я могу разделить график и график каждого отдельно, но у меня возникли проблемы с размышлением о том, как их собрать вместе, и я ищу еще один ответ.
gsubf<-induced.subgraph(g,V(g)$gender=="F")
gsubm<-induced.subgraph(g,V(g)$gender=="M")
gsubfcoords<-layout.fruchterman.reingold(gsubf, xlim=c(-2,2), ylim=c(-2,2))
gsubmcoords<-layout.circle(gsubm)
Тогда я мог бы отнести их к V (gsubf) $ х, V (gsubf) $ у ..., но я изо всех сил, как поставить все это вместе. Может быть, есть более простой способ? или, может быть, другой пакет, чтобы сделать полярный?
Извините, я до сих пор не видел ваш список рассылки. Спасибо! Это должно сработать. – ChristinaP