尝试用R做网络图

一、加载相关包

install.packages("igraph")

install.package("xlsx")

library(igraph)

library(xlsx)

二、导入文件

网络图由点和边组成,在本例子中点都是没有差别的,所以不单独引入点文件,做的是无向图

test= read.xlsx('E:/test.xlsx',1)

g <- graph_from_data_frame(test, directed=F,)

三、美化图片并输出

V代表点,V$label是点的标签,也就是该点名称,E代表边,layout是样式,本例中用第三列的数据(列名为weight)对边赋予权重。

V(g)$size=20

V(g)$color=white

V(g)$label.cex=0.7

V(g)$label.color="black"

E(g)$color="gary"

plot(g, layout = layout.circle,edge.width=E(g)$weight)

因为是朋友的数据,所以把字涂掉了

四、遗留问题

不知道怎么把线搞直(嘤嘤嘤。。。


【更新】

我好像知道线为什么不直了……

数据中存在A-B和B-A两行数据,就会导致AB之间有两条连线,为了不重叠,就会变弯……

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。