我有大约两打网络要使用相同的布局进行绘制(它们都共享相同的顶点)。我是 R 和 igraph 的新手,所以我想出了这个解决方案,它可能不是很优雅。现在我被困住了。我想知道如何将对象名称(在本例中为:V_turn1 等)添加到我的绘图标题中,如果可能的话,添加到文件名中。
我添加了一些随机网络,以使其更容易重现。它有点像这样:
print("begin")
library("igraph")
V_turn1 <- erdos.renyi.game(n=10,p.or.m=.2,type="gnp",directed=T)
V_turn2 <- erdos.renyi.game(n=10,p.or.m=.1,type="gnp",directed=T)
V_turn3 <- erdos.renyi.game(n=10,p.or.m=.3,type="gnp",directed=T)
V_turn4 <- erdos.renyi.game(n=10,p.or.m=.3,type="gnp",directed=T)
layout.old <- layout.random(V_turn1)
# I need the same layout for all renderings, because the nodes are all the same across my network data
list_of_graphs <- c("V_turn1", "V_turn2", "V_turn3", "V_turn4")
png(file="Networks_V3_%03d.png", width=1000,height=1000)
for(i in list_of_graphs){
plot(get(i), layout=layout.old)
title(deparse(list_of_graphs))
}
dev.off()
“deparse(list_of_graphs)”显然不起作用......
实际上,如果我可以为循环的每次迭代指定真正的标题,我会更高兴,即在一个新的字符向量或其他东西中(比如 V_turn1 的“这是第 1 轮”)。我觉得必须有一个明显的解决方案,但到目前为止我没有尝试过任何工作。感谢您的阅读。