igraph包快速上手

发布时间:2025-07-25 07:13

作者:谢佳标

微软中国MVP,多届中国R语言大会演讲嘉宾,目前在创梦天地担任高级数据分析师一职, 作为创梦天地数据挖掘组的负责人,带领团队对游戏数据进行深度挖掘, 主要利用R语言进行大数据的挖掘和可视化工作。

在R中,igraph包是专门用来处理网络图的。使用之前先通过install.packages("igraph")下载安装。

igraph包非常容易创建各种常规图,其中包括无边图(make_empty_graph函数)、星形图(make_star函数)、环形图(make_ring函数)、完全图(make_full_graph函数)、树状图(make_tree函数)等图形。这些函数的用法都非常简单,读者请查阅帮助文档。

我们还有另外一种创建各种布局网络图的通用方法,就是先创建一个graph对象,然后利用plot函数绘制网络图,并通过设置layout参数来实现不同布局的效果。

> library(igraph)

> g <- graph(c( 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1),directed = F) #创建无向图g

> par(mfrow=c( 2, 3))

> plot(g,vertex.size= 40,layout=layout_on_grid,main= "简单的网格布局") # 简单的网格布局

> plot(g,vertex.size= 40,layout=layout. auto,main= "自动布局") #自动布局

> plot(g,vertex.size= 40,layout=layout_as_star,main= "星形布局") #星形布局

> plot(g,vertex.size= 40,layout=layout.circle,main= "环形布局") # 环形布局

> plot(g,vertex.size= 40,layout=layout_randomly,main= "随机布局") # 随机布局

> plot(g,vertex.size= 40,layout=layout_as_tree(g),main= "树状布局") # 树状布局

> par(mfrow=c( 1, 1))

网络关系图包括3大元素:点、边、点与边的标识。我们可以对其进行优化。

> # 对网络图g进行美化

> library(RColorBrewer)

> weight <- se q(1,3,length.out=ecount(g)) #生成边的权重

> # 方法一

> V(g) $color<- brewer.pal( 9, "Set1")[ 1:vcount(g)] # 设置点填充颜色

> V(g) $frame.color <- NA # 不显示点边框

> V(g) $label.color <- "white"# 设置点标签颜色为白色

> V(g) $label.font <- 2# 设置点标签的字体为粗体

> V(g) $label.cex <- 2# 设置点标签字体大小

> E(g) $width<- weight # 根据边的权重设置边的粗细

> E(g) $color<- "steelblue4"# 设置边的颜色

> E(g) $lty<- 2# 设置边为虚线

> plot(g,main= "对网络图g进行美化")

Gephi是专业的复杂网络分析软件,基于Java开发,使用OpenGL作为可视化引擎。所以需要在本机安装jre1.7以上版本,才能正常使用Gephi。在其主页http://gephi.org/上可以下载最新的版本,其针对Windows、Linux、Mac X系统都提供了发布版可以直接安装。

现在,我们通过Gephi工具来对某款游戏的社交性进行分析。首先新建一个项目,然后在数据资料选择中,点击输入电子表格,将节点数据集Nodes和边数据集Links导入到Gephi中:

当我们把数据导入到Gephi后,在概览的图窗口已生成一个简单网络图,右上角显示了一共有77个节点和254条边,创建的是有向图。

自动生成的网络图相对来说比较简单,我们利用左上角的外观设置来改变节点颜色。方法是在数值设定的选择一种渲染方式的下拉框中选择Group,让不同组别节点用不同颜色表示;并点击图下方的T按钮,显示节点标签。

在左下角布局功能中选择一个布局选项,我们可以在下拉框选择自己希望的网络图布局,并可以调整布局参数。

彩蛋要不要

R语言资深实战讲师谢佳标老师,继R语言十三式之后,利剑再出!

十五大案例,面向实战,案例满满,学完即用!

心血课程、口碑讲师,扬帆出发,理论结合应用,握住开启R语言实战之门金钥匙!

课程更有天善学院促销活动等你来,炎炎六月,热力绝配!

返回搜狐,查看更多

网址:igraph包快速上手 https://mxgxt.com/news/view/1609434

相关内容

快速上手StarRocks
R语言如何给社交网络中的边加上权重 – PingCode
明星同款盘发教程,快速上手
快手极速版app下载最新版
“抢票软件”更快?“加速包”能否加速?……铁路12306回应来了
Grim Soul新手攻略大全 新手快速上手攻略[多图]
快速上手!明星妆框架轻松学
零基础学剪辑视频教程,新手三步快速上手
网络分析:如何用R可视化社交网络
这网速包快的 沈腾严浩翔王者荣耀

随便看看