igraph关系图


导入关系测试数据,如下,这个不是用户和用户之间的关心,而是用户和环境信息的关系,基于用户和设备之间的关系,不同的设备用不同的颜色标出来



###从csv文件中读取关系数据
df<-read.csv('rela_test.csv',head=T,fileEncoding='UTF-8',encoding='UTF-8',sep=';')

###从关系数据中整理出来顶点的数据,
vertex<-c(as.vector(df$user),as.vector(df$value))

##给用户的顶点统一表上黑色
co<-c(rep('black',length(df$user)),as.vector(df$type))

##根据设备类型进行着色
i<-1
while (i<=length(co)){ if(co[i]=='mac') co[i]='red' else if(co[i]=='ip') co[i]='green' else co[i]='black' ;i<-i+1 }

##生成顶点数据框
vertex<-unique(data.frame(vertex=vertex,co=co))

###组合成igraph的有向数据框
g<-graph.data.frame(df,directed = F,vertices = vertex)

##画图
plot.igraph(g,
            vertex.size=5,
            layout=layout.fruchterman.reingold,
            vertex.shape='circle',
            vertex.label.cex=1.5,
            vertex.label.color='black',
            edge.arrow.size=0,
            vertex.label.family='STKaiti',
            vertex.color=V(g)$co
)


效果


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值