先导入igraph包:
library(igraph)
graph包最简单的用法就是graph方法,两句代码就完成绘制如下所示,1的loop表示为(1,1),1和2之间有3条edge,表示为(1,2,1,2,1,2)
g <- graph(c(1,1,1,2,1,2,1,2,1,5,2,3,2,4,2,5,3,3,3,4,3,4,3,4,4,5),directed = FALSE)
plot(g)

如果用顶点的邻接矩阵表示,仍以上图为例:
则对1,1有loop,与2有条edge,与5有一条edge,所以邻接矩阵的第一行为(1,3,0,0,1);
类似地,可以得出邻接矩阵的第2、3、4、5行;按列输入上述矩阵:
cell <- c(1,3,0,0,1,3,0,1,1,1,0,1,1,3,0,0,1,3,0,1,1,1,0,1,0)
cell <- matrix(cell,5,5,byrow=T)
使用graph.adjacency方法:
cnames <- c('a','b','c','d','e') g <- graph.adjacency(cell,mode="undirected")plot(g,vertex.label=cnames)#绘出图像

本文详细介绍如何使用R语言的igraph包绘制无向图。首先通过graph方法创建包含loop和多条边的简单图,然后展示如何利用邻接矩阵表示图,并通过graph.adjacency方法绘制。文中提供具体代码示例,帮助读者快速上手。
363

被折叠的 条评论
为什么被折叠?



