在 R 中使用 igraph 和 networkD3 进行树状图可视化

Dendrogram visualisation with igraph and networkD3 in R

我有一个名为 g 的 igraph (R) 图对象,如下所示:

IGRAPH UNW- 6 5 -- 
+ attr: name (v/c), weight (e/n)
+ edges (vertex names):
[1] 1--4 1--5 1--6 4--2 3--5

我运行这样聚类:

c1 <-  cluster_fast_greedy(g)

然后我将它转换成这样的 hclust 对象:

hc <-  as.hclust(c1)

此时检查标签会产生:

> hc$labels
[1] "1" "4" "3" "5" "6" "2"

然后使用 networkD3,我将其转换为 radialNetwork

rad <- as.radialNetwork(hc)

我用(例如)绘制它:

D3graph <- radialNetwork(List = rad, 
                         fontSize = 10, 
                         opacity = 0.8, 
                         margin=1, 
                         fontFamily = "sans-serif",
                         nodeColour = "grey",
                         nodeStroke = "white"
                         )

但是树状图中出现了一个名为 hc 的节点和一组未命名的节点。像这样:

您可以在as.radialNetwork函数中将根节点名称设置为零长度字符串...

library(networkD3)
hc <- hclust(dist(USArrests), "ave")
rad <- as.radialNetwork(hc, '')
radialNetwork(List = rad)

如果没有 minimal reproducible example,我看不到你的对象 g 是什么,所以我无法解释为什么你的节点没有被标记,但我怀疑这发生在你的 cluster_fast_greedy 函数或 as.hclust 函数。 hc$labels 应该在您进入 as.radialNetwork 功能之前显示您的标签设置(或未设置)的内容。