0

我需要绘制的数据集非常大并且有两种模式。一个是关于学生的,另一个是关于他们分享的项目的。

我使用 igraph 并尝试了几种布局。没有一个是令人满意的。带有 kk 的布局信息相对丰富。这是它的样子:

带kk的布局

绿色和大的是项目,而小的和粉红色的是学生。

我想给它们贴上标签,以便获得更多信息。但情节是如此激烈,而且有很多重叠之处。其他布局会更糟。

有人可以提供帮助吗?比如如何避免重叠?如何添加标签,不需要所有标签,但至少需要一些集线器?

这是我的代码:

net <- graph_from_incidence_matrix(links)
V(net)$color[1:2621] <- rgb(1,0,0,.5)
V(net)$color[2622:4326] <- rgb(0,1,0,.5)
V(net)$label <- V(net)$name
V(net)$label.color <- rgb(0,0,.2,.5)
V(net)$label[1:2621] <- NA
V(net)$color[1:2621] <-  rgb(1,0,0,.1)
V(net)$size[1:2621] <- 3
V(net)$size[2621:4326] <- 5
E(net)$curved <- FALSE
l1 <- layout_with_kk(net)
plot(net, layout=l1,vertex.label=NA,edge.width =E(net)$weight)
4

1 回答 1

1

如果您知道要显示哪些标签,则可以为 vertex.label 分配一个向量,并指定这些标签。

此外,通过 vertex.frame.color 删除更改​​节点边框的颜色可能很有用。

例如:

 r <- make_ring(10)
 showlabels <- seq(1,10)
 showlabels[showlabels %% 2 != 0] <- NA 
 plot(r, vertex.label = showlabels, vertex.frame.color = NA)
于 2016-05-20T10:02:38.070 回答