R语言中igraph使用记录

  • Author:杜七
  • Date:February 15, 2016
  1. 为了画APP流量和订单的关系图,研究一下igraph,特做一个记录,分享有缘人;
  2. igraph网站
  3. R语言的igraph画社交关系图示例
  4. 网络分析算法in igraph初探

1,基本命令

  • 网络图由点(vertices)边(edges)组成,所以,画图之前主要工作就是确定,然后根据igraph现成的算法来画图;

  • 生成一个简单图的代码:

    • library(igraph) g <- graph(c(1,2, 1,3, 2,3, 3,4))
    • 当然,还可以场景和需求设置不同的变量选择画有向/无向图,比如在graph()中设置directed = FALSE
  • 对既有图的统计分析:

    • print(g) #打印图的点和边信息
    • summary(g) #打印图的点信息
    • vcount(g) #计算g的点数
    • ecount(g) # 计算g的边数
    • is.igraph(g) #判断
    • is.directed(g) #判断是否有向图

2,画图的三种方式

  • plot.igraph(plot):
    • plot.igraph(),是plot的变化,所以画图的时候,直接plot(g)`就可以了;
    • plot.igraph()可以画不交互的2D图
    • R的图形设备支持的图片类型,都可以支持,比如PDF,SVG,JPG,PNG,PostScript等等。
  • tkplot()
    • tkplot帮助文档中提到tkplot need a quiet resource,吃资源比较厉害,大图尽量避免用它,它适合中等大小的图,不能超过1000个点的图;
    • 可以画交互的2D图,当然需要安装tcltkpackage。
  • rglplot()
    • rglplot还是一个测试函数,可以画3D图,使用了OpenGL
  • 可以通过write_graph() 保存生成的图,也可以read_graph()加载生成的图。

3,

你可能感兴趣的:(R语言中igraph使用记录)