我手动创建了一个 igraph,如下所示。我创建了一个标记为“等级”为 1 到 4 的顶点属性。当我创建图形时,我希望根据这些顶点属性来排列或布局顶点。因此,本质上,“等级”标签为“1”的前 4 个顶点将位于图的顶部,然后“等级”标签为“2”的单个顶点将位于“等级”标签为“2”的 4 个顶点下方。标签“1”等。布局中是否有参数或方法可以根据另一列来指示顶点的位置?
if (!require(librarian)){
install.packages("librarian")
library(librarian)
}
librarian::shelf(tidyverse, here, igraph)
g <- make_graph(~ Database+"Sierra Nevada":Panama:Brazil:Pennsylvania:Genetics:
"Ecophysiology & Environmental Data":eDNA:AMPs:Microbiome:"Occupancy & Abundance":Outreach:
Modeling:Mucosome,
"Sierra Nevada"+ Genetics:"Ecophysiology & Environmental Data":eDNA:AMPs:Microbiome:
"Occupancy & Abundance":Outreach:Modeling:Mucosome:Database,
Panama+ Genetics:"Ecophysiology & Environmental Data":eDNA:AMPs:Microbiome:
"Occupancy & Abundance":Outreach:Modeling:Mucosome:Database,
Pennsylvania+ Genetics:"Ecophysiology & Environmental Data":eDNA:AMPs:Microbiome:
"Occupancy & Abundance":Outreach:Modeling:Mucosome:Database,
Brazil+ Genetics:"Ecophysiology & Environmental Data":eDNA:AMPs:Microbiome:
"Occupancy & Abundance":Outreach:Modeling:Mucosome:Database,
Genetics+ "Sierra Nevada":Panama:Brazil:Pennsylvania:Database,
"Ecophysiology & Environmental Data"- "Sierra Nevada":Panama:Brazil:Pennsylvania:Database,
eDNA+ "Sierra Nevada":Panama:Brazil:Pennsylvania:Database,
AMPs+ "Sierra Nevada":Panama:Brazil:Pennsylvania:Database,
Microbiome+ "Sierra Nevada":Panama:Brazil:Pennsylvania:Database,
"Occupancy & Abundance"- "Sierra Nevada":Panama:Brazil:Pennsylvania:Database,
Outreach+ "Ecophysiology & Environmental Data":AMPs:Microbiome:Mucosome:Database,
Modeling+ "Sierra Nevada":Panama:Brazil:Pennsylvania:Genetics:
"Ecophysiology & Environmental Data":eDNA:AMPs:Microbiome:"Occupancy & Abundance":
Modeling:Mucosome:Database,
Mucosome+ "Sierra Nevada":Panama:Brazil:Pennsylvania:Database) %>%
reverse_edges() %>%
set_vertex_attr("rank", value = c(2, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 4, 4, 3))
plot.igraph(g,
layout = g$rank ,
main = "Network",
edge.arrow.size = 0.3,
vertex.label.cex = 0.7,
#vertex.shape="none",
edge.curved = T,
vertex.color=as.factor(V(g)$rank))