我想可视化以下模拟数据集:
time <- seq(1,10)
N.1 <- c(0,0,0,0,0,0,0,0,0,0)
N.2 <- c(0,0,0,0,0,0,0,0,0,0)
N.3 <- c(0,0,0,0,0,0,0,0,0,1)
N.4 <- c(0,1,5,6,10,1,2,2,6,7)
N.5 <- c(0,0,0,0,0,0,0,0,0,0)
N.6 <- c(0,0,1,0,0,0,0,0,0,0)
N.7 <- c(0,1,1,2,2,4,6,6,6,3)
result_snip <- data.frame(time,N.1,N.2,N.3,N.4,N.5,N.6, N.7)
该模拟跟踪一段时间内 7 个群体之一的受感染人数。人口以循环方式连接。
(使用 igraph 包创建的图像)
我希望创建一个图表,粗略地显示每个群体中受感染的人数,同时也显示群体的连通性。例如,节点的大小或其颜色可能与感染人数成正比。不过,我愿意接受任何有关可视化此数据集的最佳方式的建议。
感谢您考虑这个问题。
最佳答案
我想你可以尝试下面的代码
g <- make_ring(length(result_snip) - 1) %>%
set_vertex_attr(name = "name", value = names(result_snip)[-1])
g_layout <- layout_nicely(g)
apply(
result_snip,
1,
function(v) {
g %>%
set_vertex_attr(name = "color", value = v[-1] != 0) %>%
set_vertex_attr(name = "size", value = 10 + v[-1]) %>%
plot(main = paste0(names(v[1]),"=", v[1]), layout = g_layout)
}
)
这将生成一系列图,其中一个看起来像
关于r - R 中的模拟空间数据表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70699949/