- Author:杜七
- Date:February 15, 2016
- 为了画APP流量和订单的关系图,研究一下igraph,特做一个记录,分享有缘人;
- igraph网站
- R语言的igraph画社交关系图示例
- 网络分析算法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()
可以画<u>不交互的2D图</u>; - R的图形设备支持的图片类型,都可以支持,比如PDF,SVG,JPG,PNG,PostScript等等。
-
-
tkplot()
:-
tkplot
帮助文档中提到tkplot need a quiet resource
,吃资源比较厉害,大图尽量避免用它,它适合中等大小的图,不能超过1000个点的图; - 可以画<u>交互的2D图</u>,当然需要安装
tcltk
package。
-
-
rglplot()
-
rglplot
还是一个测试函数,可以画<u>3D图</u>,使用了OpenGL
。
-
- 可以通过
write_graph()
保存生成的图,也可以read_graph()
加载生成的图。