Gephi 功能详解

一、Gephi 简介


Gephi 是一款网络分析领域的数据可视化处理软件,开发者对它寄予的希望是成为“数据可视化领域的 Photoshop”,可运行在 Windows、Linux 及 Mac OS 系统上。

二、特点

Gephi 主要有以下三大特性:

  • 由内置的快速的 OpenGL 引擎提供支持,Gephi 能够利用非常大的网络推送信封,可视化网络多大一百万个元素,所有元素都会实时运行,如布局、过滤器;
  • 简单易于安装和使用,以可视化为中心的 UI,类似 Photoshop 的图形处理一样;
  • 支持模块化扩展 Gephi 及插件开发,该架构构建在 Netbeans 平台之上,可以通过精心编写的 API 轻松扩展或重用。

三、主要功能模块

分类

主要功能

具体内容

网络布局

通过布局算法将网络关系直接转换为图,以图形方式研究网络

提供是 10+ 网络布局算法,如 force atlas、force atlas2 等

网络统计

通过不同的统计算法计算网络属性,供研究发现网络特性

研究节点和边:节点度(度/出度/入度)、介数中心度、亲密中心度、特征向量中心度、节点 PageRank 值、离心度、聚类系数、最短路径

研究网络整体:平均度、平均加权度、网络直径、网络半径、平均路径长度、图密度、平均聚类系数

研究小团体:模块化(把度相同的节点归类)、连接组件(基于节点连通关系,根据连接关系对节点归类)

网络滤波

通过用户设定的规则对网络中的节点或边进行筛选,从而更加精准的探索和分析网络

提供的筛选路径包括节点或边的属性、网络拓扑结构等

网络可视化

自定义或根据数据设置节点的大小、节点颜色、边的粗细、边的颜色及节点与边的标签的颜色及大小

用户自定义:手动设置大小、颜色等

根据数据设定:原始数据本身携带的可以用于设置的数值;通过 gephi 统计功能计算出新的数据也可用于设置

四、操作介绍

Gephi 共包括三个主要页面:

  • 概览:图处理、可视化编辑的主要界面;
  • 数据资料:分为节点数据和边数据,在数据表上方和下方是用于数据处理的工具;
  • 预览:预览输出,图形处理完成后,可以在此输出。

1、概览界面

(1)图窗体:图编辑和显示

i. 操作节点和连线的工具

  • 鼠标选取范围尺寸调整:如果将鼠标移动到某一个节点上,与这个节点组成边的其他节点就会显示,从而了解该节点的关联状态。单击 configure 按钮,可以设置鼠标选取的范围,即同时选择一组节点,并且显示这组节点相关联的其他节点;
  • 单选:单独选择一个节点,右击进行操作;
  • 矩形选取:在一个矩形范围内选取一组节点;
  • 移动:按左键拖动节点,按右击拖动图像、滑动鼠标滚轮放大或缩小整个图形;
  • 单节点涂色:单击次数越多,节点颜色越深,在矩形范围内会给多个节点涂色;
  • 节点大小调整:按住鼠标左键上下拖动;
  • 关联节点涂色:颜色、颜色强度、扩散模式;
  • 新建节点:颜色、直径;
  • 新建边:点击源节点,再点击目标节点,会生成一条新边,可以设置边类型和权重;
  • 节点距离:判断两个节点之间是否存在路径,如果存在就把最短路径用选中的颜色表示出来;
  • 节点范围:以一个节点为起点,根据距离的远近,给不同距离的节点图上不同的颜色,在涂色中,也会引入权重的参数,在涂色之前需要配置涂色的模式和色彩,其中,涂色的模式分为梯度 grandient 和调色板 palette;
  • 节点属性:节点属性是节点基础数据和统计数据的查看和编辑工具,分为 Properties 数据和 Attributes 数据。Properties 可以理解为节点天生的、固有的数据,包括尺寸、位置、颜色、标签大小及颜色等;Attributes 可理解为抽象化、动态变更的数据,包括 ID、标签、间隔等,Attributes 数据可以根据节点数据的增加而扩充。

ii. 编辑标签和控制显示的属性的工具

  • 整体设置

    1. 图形复位(图中心):使图形缩放到能够最大化地全部显示在图窗体中;
    2. 重设颜色:重设全部节点的颜色;
    3. 重设标签颜色:标签颜色恢复默认;
    4. 复位标签大小:标签大小恢复默认;
    5. 背景颜色:重设背景颜色;
    6. 截图:截图及截图配置;
  • 节点及边设置:
    7. 标签显示开关;
    8. 边显示开关;
    9. 边使用节点颜色开关;
    10. 边标签显示开关;
    11. 边粗细;
    12. 标签大小模式;
    13. 标签涂色模式;
    14. 字体及字体大小;
    15. 标签大小调节;
    16. 标签默认颜色;
    17. 标签显示选择;

  • 18 全局设置:

    • 全局:

      • 自动选择邻居:鼠标指向一个节点后,关联节点显示的方式;
      • 高亮选择:鼠标指向一个节点后,这个节点与其他节点颜色的变化方式,勾选后指向的节点保持原来的颜色,其他节点变暗;取消沟通后,指向的节点变暗,其他节点保持原来颜色;
    • 边:

      • 使用节点的颜色:指边会使用节点的颜色;

      • 选择颜色:勾选后,把鼠标移动到一个节点后,这个节点出边、入边及双向边会用不同的颜色显示;

    • 标签:

      • 节点:节点标签字体大小和颜色;
      • 边:边上标签的字体大小及颜色;
      • 隐藏未选中:勾选后,只有鼠标移动到某个节点上后标签才会显示;
      • 节点标签大小:共有三种类型,fixed(固定大小,标签大小不跟节点大小变化而变化)、scaled(标签随节点大小变化而变化)、nodeSize(节点越大,标签越大,但标签大小本身是固定的,不随节点大小变化而变化);
      • 节点标签颜色:共有三种类型,unique 表示节点标签和边标签都是用选定的颜色,object 表示节点标签使用节点颜色,边标签使用边的颜色;text表示节点标签都使用默认黑色。

(2)布局:节点与边的排布

布局是根据某种策略对节点和边进行排布,使图形既具有特定需要的合理性,也易于视觉识别。它们的核心都是平衡一个网络中节点的斥力和引力关系。
一般来说,布局应满足:

  • 使节点均匀分布在有限的区域内;
  • 避免边的交叉和弯曲;
  • 保持边的长度一致;
  • 使整体布局能反映图的内在特性。

默认布局(12种)大致可分为两类:

  • 力引导布局,共 6 种:force atlas;force atlas2;fruchterman reingold;openord;yifan hu;yifan hu 比例;
  • 辅助性的、带有编辑和调整性质的布局,共 6 种:noverlap;rotate;扩展;收缩;标签调整;随机布局。

布局类型

描述

参数配置

force atlas

使布局更加紧凑,可读性更强

1、惯性:值越大,图摇摆幅度越大

2、斥力强度:节点排斥其他节点的强度,值越大,节点距离越大

3、吸引强度:连接节点的吸引力强度,值越大,有连接的节点越被拉进

4、重力:值越小,图越分散;值越大,图越被压缩

5、速度:布局运动的速度,值越大,图布局的速度越快

force atlas 2

改进的 force atlas,速度更快

1、缩放:节点的斥力强度,值越大,斥力越大,图越稀疏

2、更强的重力:已定义好的较强的重力

3、重力:自定义的重力值,可以比更强的重力更强

4、劝阻 hubs:只有输入的边会被推到边缘

5、LinLog 模式:线性和对数模式的切换

6、防止重叠:将重叠的节点展开

7、容差(速度):布局速度的选取,较小的值速度慢,但精度更高

Fruchterman Reingold 布局

FR 布局,基于再次改进的弹性模型

1、区:定义图形的幅度,值越大图越大,越稀疏

2、重力:定义重力值,值越大重力越强,节点越被中心吸引

3、速度:布局的速度,值越大布局速度越快,但越不精确

Noverlap(交叠)

可防止节点重叠,但不考虑节点标签重叠

1、速度:速度越快,精度越差

2、节点间距:间距为 1 时,节点会连接在一起,间距为 2 时,节点会分开;间距为 1.1 时,间距增加 10%,小于 1 时允许节点重叠

3、幅度:增加幅度半径,幅度为 0 时,没有余量,幅度为 10 时,节点分开至少 20 像素,负幅度允许重叠

Openord

支持多核、并行,适合处理节点较多的图

布局阶段分为 liquid、expansion、cooldown、crunch 和 simmer 5 个过程

rotate

顺/逆时针旋转

将图形从整体上做顺时针或逆时针旋转

Yifan Hu

在多层级力引导算法中引入超节点概念

1、最佳距离:值越大,整个图的尺寸越大

2、相对强度:值越大,节点越稀疏

扩展/收缩布局

对图形做整体上的放大或缩小处理

比例因子为 1,图保持原状:

大于 1:图放大,值越大,放大比例越大;

小于 1:图缩小,值越小,缩小比例越大

标签调整布局

防止节点标签重叠

1、速度:值为 1,可较缓慢地把标签重叠的节点躲避开,使节点标签没有重叠,值越大,速度变快,但躲避的幅度会较大

2、包括节点的大小:勾选后,会使重叠的节点也躲开

随机布局

Gephi 初始导入数据时的模式,将节点随机散步在正方形内

空间大小可以设置随机散步节点的正方形的边长

(3)统计:使用算法测度网络

统计面板,主要围绕以下内容:

  • 根据统计算法,为节点或边计算出不同的数值;
  • 研究节点的度:度、加权度、PageRank、聚类系数、特征向量中心度、模块化;
  • 研究边的连接性:网络直径、连接组件;
  • 研究图的整体特性:平均度、平均加权度、图密度、平均路径长度;
  • 研究聚类特性:模块化。
    • 模块化和连接组件都具有某种归类或聚类的特性,但模块化根本上是统计节点的一种度,并在此基础上把度相同的节点归类;连接组件并不考虑节点度的状态,而仅仅是根据连接关系对节点归类。

分类

统计量

解释

网络概述

平均度

无向图:所有节点的度数和/节点数量(一个边能表示两个节点的度,所以所有节点的度数和等于边的数量乘以 2)

有向图:出度和或入度和/节点数量(因为出度和等于入度和,所以公式可以简化为数量直接除以节点的数量)

平均加权度

平均度中将所有的权重当做 1 来处理,平均加权度中根据实际的权重计算节点的度,再根据加权的度计算平均度,即所有节点的加权度和除以节点数量,有向图类似

网络直径

在一个网络中,最短路径最长的两个节点之间的距离

图密度

实际的边数与最大可能的边数之比

最短路径

两个节点之间可能存在多条可连通的路径,其中最短的路径称为最短路径,最短路径的值是最短路径中边的个数

模块化

根据图的连接关系对节点归类,类型相同的节点会增加一个字段,用相同的数字表示,可用于社区发现

PageRank

基于 PageRank 算法计算节点的重要性

连接部件

如果所有节点都可以连通,称为连通图;否则称为非连通图。在非连通图中基于连接关系可划分多个区块,每个区块称为一个连通分量。计算连接组件后,Gephi 会给每个节点一个标注,把属于同一个连通分量的节点用一个相同的数字表示。

在有向图中,可分为强连通图和弱连通图。

介数中心度

所有的节点对之间通过该节点的最短路径条数,一个节点的 Betweenness 越大,流经它的数据分组越多,意味着它更容易拥塞,成为网络的瓶颈

亲密中心度

一个节点所能到达的节点的数量除以所能到达节点的最短路径之和。此种节点在网络中并非处于核心位置,与其他节点的关系并非最多;所处的位置也并非十分核心,但此节点与网络中其他节点的距离总和最短,也就是该节点在网络中有最佳视野,可以察知网络中所发生的事情,以及讯息的流通方向

离心度

一个节点能到达的最大的最短路径,即从一个节点所有可以到达的节点中,账号出最长的最短路径

节点概述

平均聚类系数

特征向量中心度

当前节点的中心性取决于邻居点的中心性

边概述

平均路径长度

节点数量除以所有两个节点最短路径之和,即平均每个最短路径可以分配到几个节点

动态

一个节点的边的数量,有向图中区分度、出度和入度

聚类系数

一个节点一度连接的节点中,实际的边数与最大边数之比

(4)外观:节点、边、标签设置

自定义或根据数据设置节点的大小、节点颜色、边的粗细、边的颜色、节点与边的标签的颜色及大小。在以颜色和大小为目标的编辑中,可以通过两种方式实现:

  1. 设置为统一的颜色和大小
  2. 根据数值设定颜色和大小。

    数据自定义可以有两种方式实现:
  3. 原始数据本身携带了可以用于设置的数值;
  4. 通过 Gephi 统计功能计算出新的数据用于设置。
i. 节点


界面上右上角的 4 个按钮(节点颜色、节点大小、节点标签颜色、节点标签大小)会和统一的数值设定组合产生不同的效果。

ii. 边


界面右上方的 3 个按钮(边颜色、边标签颜色、边标签大小)会和统一的数值设定组合产生不同效果。

补充:Gephi 0.9.1 版本以后,节点与边的颜色的数值设定细分为 partition(分区)和 ranking(排名),partition 是用有区别的颜色给节点或边涂色,ranking 是用颜色渐变的方式给节点或边涂色。而节点与边的其他属性(节点大小、节点与边的标签颜色和标签大小)则没有细分,只有数值设定更改为 ranking,而没有操作上的变动。

(5)过滤:查询、筛选与分类

过滤器 filters 是通过用户设定的规则对网络中的节点或边进行筛选,从而能够更精准的探索与分析网络、过滤界面可以分为三部分:

  • 4 个与过滤有关的工具
  • 过滤选取分类
  • 过滤界面查询工具。
i. 四个与过滤有关的工具

  • 第一个:重置,清除所有过滤规则;
  • 第二个:往过滤的节点中写入数据;
  • 第三个:把过滤出的节点和边移动到一个新的工作空间;
  • 第四个:隐藏过滤出的节点和边。
ii. 过滤选取工具

  • 动态:根据动态图的特性进行过滤

    • 通过约束范围和空值,观察动态图在不同时间段内结构的变化。
  • 属性:根据图节点或边的属性进行过滤

属性类型

解释

分区

对节点计算统计数据后,根据统计数据的数值约束,显示不同的节点

分区统计

等于

把节点或边中某个字段值相同的节点或边查询出来,与分区功能类似,但一次只能选择一个字段的一个数值

非空

显示值不为空的节点或边

范围

边之间

边内部

  • 拓扑:根据图的拓扑结构进行过滤

类型

解释

具有自环

自环指一个节点有指向自身的一条边,筛选出包含自环的节点

K-核心

K-核心是指在一个图中,由多个节点组成的一组节点集,k 表示这个节点集中每个节点的度都不小于 k 值。在节点集中,互相之间连接度一致到度数称为这个核心的核数

在度的范围(入度范围)

过滤出入度相同的节点,仅支持有向图

巨人组件

巨人组件指在一个图中占有节点数比例最高的连通子图,如果图中由两个或多个节点数量一样多的子图,则优先保留包含节点内部 ID 靠前的子图。

度范围

定义一个范围,筛选度(仅统计度数,不细分出入度)符合该范围的节点

相互度范围

相互度范围指节点的双向边数量,可根据双向边的数量对节点查询和分类

自我网络

自我网络是由唯一一个中心节点,以及这个节点的邻居组成的图,可以过滤出特定节点深度在 1 度、2 度、3 度以及最大度情况下生成的图

超出度范围(出度范围)

过滤出图中出度在某一范围的全部节点

  • 操作分类:过滤过滤,可以将多个过滤器以某种逻辑关系结合在一起进行过滤

类型

解释

边 Mask

显示符合一定条件的边,需与上述的过滤器结合,如显示与度为 2 的节点连接的边,需要将属性-等于-度拖入到 mask 边的子过滤器中

不(节点)

不显示指定的节点

不(边)

不显示指定的边

交集

显示同时符合多个条件的过滤

并集

显示在多个条件中符合任意一个条件的过滤

  • 边:根据边的特性进行过滤

类型

解释

Edge Type

Edge Type 指两个节点之间可以有多条边,多条边用不同的关键词标记,关键词存储在数据资料界面的 kind 字段中

Mutual Edge

过滤双向的边,即单向边不会显示,并且只对有向边有效

Self-loop

不显示图中的自环

边的权重

根据边的权重过滤边

2、数据资料界面

数据资料界面最主要的是数据表格面板,数据表格面板提供了丰富的功能:

  • 节点和边数据展示
  • 配置
  • 增加节点和边;
  • 搜索/替换;
  • 输入输出电子表格
  • 删除图、删除边
  • 重复数据监测
  • 添加、删除、合并列

另外每行数据右键菜单上也提供了非常丰富的功能,如编辑节点、移动、复制、设置节点大小等等。

3、预览界面

  • 预览界面上面,可以看到图的所有配置项,在预览界面同样可以修改图上的元素样式。
  • Gephi 支持输出 SVG、PDF 或 PNG 格式,可以微调输出图片的比例大小。

五、总结

整体看来,Gephi 属于图可视化工具中的佼佼者,虽然很多交互比较反人性,且 UI 丑到爆,但瑕不掩瑜,强大的功能及性能足以掩盖种种不足,是非常值得我们去好好研究和借鉴的图可视化工具,我们做的所有图探索分析产品,在能力上面都应该尽可能地向 Gephi 看齐。

【SNA】社会网络分析二 Gephi 功能详解相关推荐

  1. 海康摄像头二次开发详解,包含海康摄像头登录、海康云台控制、视频下载等功能

    海康摄像头二次开发详解 准备 海康摄像头SDK开发下载路径: 开发过程中遇到的问题记录: 添加maven依赖 下面代码中会出现的实体类 CameraManage实体类: ControlDto实体类: ...

  2. tekla二次开发用C语言,Tekla能够进行哪些二次开发?Tekla二次开发功能详解

    我们话不多说,这次小编来给你讲一些搜罗而来的Tekla软件二次开发的功能.虽然是科普,不过这些二次开发功能有的还真的是很好用的,帮了大忙. 一.桥梁功能 如果向Tekla插件中加入了桥梁模块的功能,通 ...

  3. IOS视频编辑功能详解上篇-添加水印

    前言 用代码在简单视频编辑中,主要就是加美颜.水印(贴图).视频截取.视频拼接.音视频的处理,在美颜中,使用GPUImage即可实现多种滤镜.磨皮美颜的功能,并且可以脸部识别实时美颜等功能,这个有很多 ...

  4. Linux下的tar归档及解压缩功能详解

    Linux下的tar归档及解压缩功能详解 一.Linux下解压缩工具 二.gzip工具的使用方法 三.其他解压缩工具 一.Linux下解压缩工具 二.gzip工具的使用方法 三.其他解压缩工具 一.L ...

  5. 【转载】Linux命令-自动挂载文件/etc/fstab功能详解[转]

    博客园 首页 新随笔 联系 订阅 管理 随笔 - 322  文章 - 0  评论 - 19 Linux命令-自动挂载文件/etc/fstab功能详解[转]     一./etc/fstab文件的作用 ...

  6. 二叉堆详解实现优先级队列

    二叉堆详解实现优先级队列 文章目录 二叉堆详解实现优先级队列 一.二叉堆概览 二.优先级队列概览 三.实现 swim 和 sink 四.实现 delMax 和 insert 五.最后总结 二叉堆(Bi ...

  7. iOS之UI--使用SWRevealViewController实现侧边菜单功能详解实例

    使用SWRevealViewController实现侧边菜单功能详解 下面通过两种方法详解SWRevealViewController实现侧边菜单功能: 1.使用StoryBoard实现 2.纯代码实 ...

  8. Linux 挂载windows网络共享文件 /etc/fstab功能详解

    转载自: http://www.cnblogs.com/qiyebao/p/4484047.html Linux命令-自动挂载文件/etc/fstab功能详解[转] 一./etc/fstab文件的作用 ...

  9. HDMI ARC功能详解及应用介绍

    HDMI ARC功能详解及应用介绍 HDMI ARC,专注于音频传输的方案 ARC的全称为Audio Return Channel,顾名思义也就是音频回传通道.ARC出现的目的,是使整个数字化家电在线 ...

  10. 号称全网最全CAD组合键功能详解

    左手键盘右手鼠标,一向都是大家熟悉的使用CAD的操作方式. 就算不信手拈来也基本了然于心. 然而如果现在问你,命令行隐藏了,应该怎么调用出来,你可以第一时间反应过来是什么组合键吗? 暂时忘记没关系,希 ...

最新文章

  1. day36 10-Hibernate中的事务:解决丢失更新
  2. java poi 需要jar_Java 之 POI各Jar包作用
  3. 为何加入了AddType就无法启动Apache
  4. 【NLP】毕设学习笔记(四)bert相关知识点
  5. usaco2.11Ordered Fractions
  6. 朴素贝叶斯-垃圾邮件(中文的)处理
  7. 判断某点在多边形内——方法一
  8. SSD源码解读之ssd_pascal.py
  9. CSS3自定义下拉框菜单
  10. 高等数学复习要点(期末考试同济版)
  11. 2021年危险化学品经营单位安全管理人员新版试题及危险化学品经营单位安全管理人员模拟考试系统
  12. 【英语阅读】纽约时报 | 感染新冠病毒是怎样的感受
  13. 推荐一本 Bulma 的书《使用Bulma来创建用户界面》
  14. Win10家庭中文版如何添加本地用户
  15. mapgis考试11
  16. 太阳系各大行星运行轨迹
  17. 2019电大计算机考试题及答案,2019年最新电大《计算机应用基础》期末考前复习综合练习题(A、B、C)及参考答案资料小抄...
  18. APK文件使用ApkTool解包反编译和重新打包及签名
  19. RocketMQ事务消息
  20. 支持IPV6的阿里云和CDN

热门文章

  1. Android EagleEye笔记
  2. 安全测试:听云短信接口安全测试,你的短信接口到底有多危险,可能瞬间损失过万,短信接口防盗刷测试
  3. Flask中蓝本(Blueprint)的使用
  4. 【牛客】3002 G-eli和字符串
  5. 卡牌游戏算法原理、代码
  6. Gem5 O3 可视化
  7. Java程序员面试宝典——重要习题整理
  8. 基于 图神经网络 + 知识图谱 的推荐系统 1
  9. 课程设计---族谱管理系统(c++)
  10. 人工解决问题和用计算机解决问题的相同点,第2学时:计算机解决问题的过程_20120207110033703.doc...