igraph包

在学习复杂网络可视化的过程中,在gephi和networkx都不能进行重叠网络可视化的情况下,又学习了基于R语言的igraph包。下面简单介绍一下igraph的使用方法。官网地址:http://igraph.sourceforge.net/

#导入包
library(igraph)

在这里插入图片描述

#画出有向图,需要指明有向边
g<- graph(c(1,2, 1,3, 1,4, 2,4, 3,4), directed=T)
plot(g, layout=layout.fruchterman.reingold)

在这里插入图片描述

#无向全连接图,需要指明点的个数
g1 <- graph.full(4)
plot(g1, layout=layout.fruchterman.reingold)

在这里插入图片描述

g2 <- graph.ring()
plot(g2, layout=layout.fruchterman.reingold)

在这里插入图片描述

#创建多维网络
 g3 = graph.lattice(c(3,4,2))#create a lattice
 plot(g3, layout=layout.fruchterman.reingold)

在这里插入图片描述

g4 = graph.tree(50, children=2)#create a tree
plot(g4, layout=layout.fruchterman.reingold)

在这里插入图片描述

#创建随即图
g <- erdos.renyi.game(20, 0.2)#create a random graph and fix probability 
plot(g, layout=layout.fruchterman.reingold, vertex.label=NA,vertex.size=5,vertex.color="green")

在这里插入图片描述

g <- erdos.renyi.game(20, 15, type='gnm')# Generate random graph, fixed number of arcs
plot(g, layout=layout.reingold.tilford, vertex.label=NA, vertex.size=5,vertex.color="green")

在这里插入图片描述

g <- erdos.renyi.game(12, 0.35)
plot(g, layout=layout.fruchterman.reingold)

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
求两点之间的最短路径:
在这里插入图片描述

V(g)[3]$color <- 'green'
V(g)[5]$color <- 'green'
V(g)[9]$color <- 'green'
plot(g, layout=layout.fruchterman.reingold)

在这里插入图片描述

g <- erdos.renyi.game(12, 0.35)
E(g)$weight <- round(runif(length(E(g))),2) * 50
plot(g, layout=layout.fruchterman.reingold, edge.label=E(g)$weight)
plot(g, layout=layout.fruchterman.reingold)

在这里插入图片描述
在这里插入图片描述
重叠社区把节点画成饼图

library(igraph)
g <- graph.ring(10)
values <- lapply(1:10, function(x) c(sample(1:10,3),0,0))
# make some unique bits
values[[7]][5] = 6
values[[9]][4] = 3
# default for all
V(g)$pie.color=list(heat.colors(5))
# make one stand out
V(g)[6]$pie.color=list(topo.colors(5))
# set.seed() keeps the vertices in the same place each plot
set.seed(1492)
plot(g, vertex.shape="pie", vertex.pie=values,vertex.size=seq(10, 30, length=10), vertex.label=NA)

在这里插入图片描述

plot(my_graph, vertex.shape="pie", vertex.pie=x, vertex.pie.color=???, vertex.label=NA, edge.arrow.mode=0)
  • 0
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值