美文网首页
尝试用R做网络图

尝试用R做网络图

作者: 晨光暮霭 | 来源:发表于2020-05-11 18:31 被阅读0次

    一、加载相关包

    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之间有两条连线,为了不重叠,就会变弯……

    相关文章

      网友评论

          本文标题:尝试用R做网络图

          本文链接:https://www.haomeiwen.com/subject/pkkpnhtx.html