【发布时间】:2020-12-09 17:01:17
【问题描述】:
使用 R 和 igraph,我已经能够绘制图表,其中:
A) 点(节点)的大小取决于点之间的连接数
B) 点(节点)的大小取决于一些预定义的大小向量
A) 的代码如下所示:
library(igraph)
my_data <- data.frame(
"Col_C" = c("AAA", "AAA", "AAB", "AAB", "AAB", "ABC", "CDE", "CDE", "CDE", "AAB", "AAB", "AAE"),
"Col_D" = c("AAB", "AAC", "AAC", "ABC", "CDE", "CDE", "AAB", "AAE", "ADF", "AAE", "ADF","ADF")
)
final <- data.frame(col = unique(unlist(my_data)))
graph <- graph.data.frame(my_data, directed=F)
graph <- simplify(graph)
V(graph)$vertex_degree <- degree(graph)
plot(graph,
vertex.label.cex = 0.8,
edge.width = E(graph)$weight,
vertex.size = V(graph)$vertex_degree
)
B) 的代码如下所示:
library(igraph)
my_data <- data.frame(
"Col_C" = c("AAA", "AAA", "AAB", "AAB", "AAB", "ABC", "CDE", "CDE", "CDE", "AAB", "AAB", "AAE"),
"Col_D" = c("AAB", "AAC", "AAC", "ABC", "CDE", "CDE", "AAB", "AAE", "ADF", "AAE", "ADF","ADF")
)
final <- data.frame(col = unique(unlist(my_data)))
final$size = c("6","10","1","20","50","1","5")
graph_B <- graph.data.frame(my_data, directed=F)
graph_B <- simplify(graph)
plot(graph_B, vertex.size = as.numeric(final$size))
但是,当我尝试使这些图“交互”时(使用 visNetwork 库),节点大小恢复为相等大小:
library(visNetwork)
visIgraph(graph)
visIgraph(graph_B)
谁能告诉我我做错了什么?
谢谢
【问题讨论】:
标签: r graph data-visualization nodes