当我使用igraph可视化网络时:
dt1 <- data.frame(v1=sample(letters[1:10],20,replace=TRUE),
v2=sample(letters[1:10],20,replace=TRUE))
g<-graph.data.frame(dt1, directed=F)
plot(g,layout=layout_in_circle)
我想按度数递减的顺序绘制顶点。我怎样才能做到这一点?我曾经degree(g)
用来获取学位信息。但是,绘制的节点的顺序是根据g对象中的内部顺序,即索引号。如果使用分配节点V(g)$name <-
的名称,则名称会更改,但名称关系的ID也将更改。
请阅读文档layout_in_circle
(即输入help(layout_in_circle)
R);它说该函数有一个名为的参数order
:
order:以所需放置的顺序在圆上放置的顶点。此处未包括的顶点将放置在(0,0)
因此,您需要做的就是使用order()
R中的函数基于顶点的度数创建顺序向量,然后将其传递给order
参数以创建布局:
> layout <- layout_in_circle(g, order=order(degree(g)))
> plot(g, layout=layout)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句