数据集在评论区,B站演示视频在评论区!

简介

最近2天需要用到gephi做社会网络分析,于是从0开始接触gephi并摸索出了gephi的基本使用指南。下面将结合真实的节点文件与边文件,利用gephi绘制社会网络并计算相关测量指标。整个过程会详细讲解:1.数据格式2.如何导入数据3.如何调整外观4.布局选取5.节点与网络测量指标的计算

(一)数据格式

本项目使用的数据来源于微博肖战超话120位用户,经过整理后分为节点文件和边文件。

1.1节点文件

节点文件以excel格式存储,包括7个字段。其中id字段必须要有,且id字段和下面要介绍的边文件中的source与target字段对应。id字段即120个用户的名称,边文件中的source与target字段全部取自id字段,并且source与target中的名字必须属于id字段中的名称,要求一一对应。

 label字段用于在gephi绘制的网络中作为每个节点的标签展示,如下图展示的就是每个节点的label。其他字段则是该节点的属性,后续可以作为节点颜色和大小的依据,也可以用不到。

1.2 边文件

边文件以excel格式存储,包括source、target和weight三个字段。我要绘制的网络是有向图,所以source与target对应的值是不一样的,如果是无向图则值可以互相交换。weight字段则可以影响边标签的颜色和大小。

(二)如何导入数据

2.1 导入节点文件

 第一步,打开gephi,点击文件,点击打开

第二步,选择节点.xlsx文件并点击打开(注意此时不要在外部打开该文件,否则gephi里打开会有错误) 

第三步,点击下一步和完成

 第四步,我这里选择图的类型是有向的,默认是混合的。然后既然先打开的是节点文件,则选择新的工作区,可是看到导入了120个节点

 第五步,点击确定就可以看到导入的120个节点

2.2 导入边文件

 第一步,打开边文件(同样不要在外部打开)

第二步,点击下一步和完成

第三步,图的类型选择混合的。并选择添加到现在的工作区。因为边文件里面有平行边(一个节点有2条及以上的边指向另一个节点,可能是数据处理时除了点问题,没问题的话直接选择有向的图类型即可,这里还是选择混合的;添加到现在的工作区是因为之前导入了节点文件,所以这里直接把边加到节点上,也就是添加到现在的工作区)

第四步,点击确定,则初步的网络就构造完成了

 (三)如何调整外观

首先看看此时的工作界面,有人可能会发现文件导入后不是数据资料点击空白,就是没显示图之类的问题,这里我们先点击窗口,把4个都勾选上,后面要用。

点击外观,我们可以发现能够分别设置节点和边的外观。节点可以设置4个,分别是节点颜色、节点大小、节点标签颜色和节点标签大小。设置依据可以是统一的,也可以根据属性设置,即分割。

分割有不同的依据,我们这里节点的颜色根据节点的category(类别)属性设置3个,节点的大小则根据节点的度设置,设置好要记得点击应用

其他外观设置大家自行摸索,大差不差。

(四)布局选取

这里就是提供了几个基础的布局算法,每个算法得到的布局不一样,一般使用Fruchterman Reingold算法,大家可以都尝试一下。另外还有插件提供更多的算法,请自行查询插件下载方式。

(五)节点与网络测量指标的计算

最后一个是关于社交网络节点测量指标与整体网络指标的计算。gephi提供了统计工具(上面以及打开了该窗口)

5.1 节点测量指标

节点的测量指标包括度、入度、出度;点度中心度(degree centrality)、中介中心度(betweeness centrality)、接近中心度(closeness centrality)。其中点度中心度就是度。每个指标的含义这里就不解释了,请大家自行查询。

gephi中可以计算每个节点的上述指标,点击运行下面几个指标:

然后打开数据资料就可以得到每个节点的指标值了

5.2 整体网络测量指标

整体网络测量指标我这里列举几个常用的:群体点度中心势、群体中介中心势、群体接近中心势。可以发现就是与节点的指标对应,只不过一个叫“度”,一个叫“势”。因此在gephi中是不能直接计算这3个指标的,有对应的公式根据节点的指标值来计算,具体请看这篇文章:

https://www.cnblogs.com/baiyunwanglai/p/13228813.html

我们可以先导出节点的指标数据,然后在excel中根据公式进行计算:
 

在输出表格后,可能会存在中文乱码的情况,没关系我们只保留需要的字段即可:

大家看完公式就知道这个表格里的网络测量指标怎么算的了 

总结

文章围绕做项目的过程介绍gephi的使用,所以可能漏掉部分功能,但我认为主要功能都涵盖进去了。更详细的介绍,也可以看我评论区的B站讲解视频,会演示如何操作,应该更清楚一些

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐