r - R 中的模拟空间数据表示

标签 r data-visualization igraph

我想可视化以下模拟数据集:

See image 1.

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 个群体之一的受感染人数。人口以循环方式连接。

See image 2.

(使用 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)
  }
)

这将生成一系列图,其中一个看起来像

enter image description here

关于r - R 中的模拟空间数据表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70699949/

相关文章:

R igraph 弯曲边缘

r - 在更改信息时查找唯一用户

从left_join删除相同的列

r - 提取可能多次出现或根本不出现的字符串元素

使用 Sparklyr 包时,R 未检测到安装的最新 Java 版本 (1.8)

java - 正在寻找一个允许动态更改 Java 中的图形/树的开源可视化库?

r - 如何使用固定位置控制 igraph 绘图布局?

形式为 0 <\alpha < 1 的 R 表达式

html - 导出 Kepler.gl map 时禁用侧面板?

javascript - 列的正/负部分的不同颜色