我正在研究政府机构如何随时间变化。计划是使用 ndtv 包来可视化更改。我有一个节点列表,其中列出了顶点 ID、代理名称、节点起始和节点终点:
nodelist <- read.csv("https://github.com/aterhorst/data/raw/master/nodelist.csv", header=T, stringsAsFactors = F)
和一个边缘列表,显示边缘的起点和终点:
edgelist <- read.csv("https://github.com/aterhorst/data/raw/master/edgelist.csv", header=T, stringsAsFactors = F)
我可以很容易地创建一个网络对象:
nw <- network(edgelist,
vertex.attr = nodelist[,c(1,2)],
vertex.attrnames = c("vertex.id", "agency"),
directed = F)
nd <-networkDynamic(nw,
edge.spells = edgelist[,c(3,4,2,1)],
vertex.spells=nodelist[,c(3,4,1)])
我可以根据边缘为网络设置动画,顶点没问题:
reconcile.vertex.activity(nd, mode = "match.to.edges")
filmstrip(nd,
displaylabels = FALSE,
frames = 5,
slice.par = list(start = 2014, end = 2019, interval = 1, aggregate.dur = 1, rule = 'any'))
render.d3movie(nd,
filename = "~/owncloud/longspine/data/animation.html",
displaylabels = FALSE,
# This slice function makes the labels work
vertex.tooltip = function(slice) {paste("<b>Agency:</b>", (slice %v% "agency"))})
从本质上讲,这显示了边和顶点如何随着时间的推移而出现和消失。接下来,我想按机构预算调整顶点大小。这种情况每年都在变化。我该怎么做?在线教程有点难以理解。在我的示例中,我们总共有 217 个代理机构。每个人都有一个年度预算(如果它们按开始存在,则在节点列表中存在)。任何提示或建议将不胜感激。