- 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>,当然需要安装
tcltkpackage。
-
-
rglplot()-
rglplot还是一个测试函数,可以画<u>3D图</u>,使用了OpenGL。
-
- 可以通过
write_graph()保存生成的图,也可以read_graph()加载生成的图。