使用动态网络可视化更改节点颜色

我正在尝试创建一个网络动画,显示节点如何随时间改变状态。用例是 Covid-19 的联系人跟踪。我使用基于代理的模型来模拟 Covid-19 传播。我从中提取了我的联系网络。我正在努力弄清楚 tsna 包如何改变每个时间片的节点颜色(疾病状态)。这是我的数据和渲染尝试:

# load libraries

require(sna)
require(tsna)
require(ndtv)

# get data

url <- "https://github.com/aterhorst/data/blob/master/dynamic_network.Rdata?raw=true"
download.file(url,destfile= "data/dynamic_network.Rdata",mode = "wb")

# load data

load("data/dynamic_network.Rdata")

# create a dynamic network object

nd <-networkDynamic(edge.spells = edges,vertex.spells = nodes)

# render dynamic network object

compute.animation(nd,animation.mode = "kamadakawai",slice.par = list(
    start = 1,end = 12,interval = 1,aggregate.dur = 2,rule = "any"))


render.d3movie(nd,vertex.col = nodes$col,displaylabels = TRUE)

因为我的基于代理的模型非常小,边缘在第 12 天左右消失。基本上,到那时每个人都已经接触过病毒,因此进一步接触没有任何区别。我的模特不再关心。您在我的示例中看到的是静态节点颜色。我想看到的是随着疾病状态改变颜色的节点。有人可以帮我解决这个问题吗?

liujun050077 回答:使用动态网络可视化更改节点颜色

我只是在 networkDynamic 语句中添加了以下内容:

nd <-networkDynamic(edge.spells = edges,vertex.spells = nodes,create.TEAs = TRUE)

我试图指定 vertex.TEA.names = "col" 并且抛出了一些东西。忽略它解决了我的问题。

TEA 的事情非常令人困惑,在线教程可以为像我这样的麻木者更好地解释这一点。也就是说,它是免费软件,我感谢 sna/tsna/ndtv 的创建者的贡献。

本文链接:https://www.f2er.com/696607.html

大家都在问