【Gephi项目实战-带数据集】利用gephi绘制微博肖战超话120位用户关系图,并计算整体网络指标与节点指标

数据集在评论区,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站讲解视频,会演示如何操作,应该更清楚一些

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/372994.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

我们都是宇宙的奇迹

我们都是独一无二的个体,是宇宙的奇迹 如果我不关注自我,那我在这个宏大的宇宙中有什么意义? 关于你的问题,我想没有一个简单的答案,因为不同的人可能有不同的看法和感受。有些人可能认为,如果不关注自我&…

jbdc的简单了解

JDBC JDBC所处的位置 JDBC的本质 Java操作数据库的一套接口。 补充 ddl:数据库定义语言,例如建表,创建数据库等。 dml:数据库操作语言,例如增删改。 dql:数据库查询语言,例如查询语句。 注意 在创建Java项目后的第一个步骤是导入jar包。 导入jar包的步骤 1 创建l…

【C语言】const修饰指针的不同作用

目录 const修饰变量 const修饰指针变量 ①不用const修饰 ②const放在*的左边 ③const放在*的右边 ④*的左右两边都有const 结论 const修饰变量 变量是可以修改的,如果把变量的地址交给⼀个指针变量,通过指针变量的也可以修改这个变量。 但…

TCP/IP详细介绍以及TCP/IP寻址

目录 ​编辑 1. TCP/IP 介绍 2. 计算机通信协议(Computer Communication Protocol) 3. 什么是 TCP/IP? 4. 在 TCP/IP 内部 5. TCP 使用固定的连接 6. IP 是无连接的 7. IP 路由器 8. TCP/IP 9. TCP/IP 寻址 10. IP地址 …

LeetCode、1137. 第 N 个泰波那契数【简单,动态规划】

文章目录 前言LeetCode、1137. 第 N 个泰波那契数【简单,动态规划】题目与分类思路一维动态规划 资料获取 前言 博主介绍:✌目前全网粉丝2W,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术…

记录下ibus-libpinyin输入法的重新安装

目前的版本为: 首先把现在的ibus-libpinyin卸了 sudo apt-get --purge remove ibus-libpinyin sudo apt-get autoremove 安装教程请参考 Installation libpinyin/ibus-libpinyin Wiki GitHub yilai sudo apt install pkg-config sudo apt-get install libglib2.0-de…

02-Web应用_架构构建_漏洞_HTTP数据包_代理服务器

Web应用_架构构建_漏洞_HTTP数据包_代理服务器 一、网站搭建前置知识1.1 域名1.2、子域名1.3、DNS二、web应用环境架构类三、web应用安全漏洞分类四、web请求返回过程数据包 五、演示案例5.1、架构-Web应用搭建-域名源码解析5.2、请求包-新闻回帖点赞-重放数据包5.3、请求包-移…

内网远程控制——向日葵

针对向日葵的话其实如果有本地安装的话,是有可能存在漏洞的。这里进行复现 攻击过程: 向日葵(不可以攻击) 遇到不可以攻击的向日葵,我们也有几种渗透手法: (1)窃取配置文件来进行解…

【八大排序】选择排序 | 堆排序 + 图文详解!!

📷 江池俊: 个人主页 🔥个人专栏: ✅数据结构冒险记 ✅C语言进阶之路 🌅 有航道的人,再渺小也不会迷途。 文章目录 一、选择排序1.1 基本思想1.2 算法步骤 动图演示1.3 代码实现1.4 选择排序特性总结 二…

【开源】SpringBoot框架开发农村物流配送系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统登录、注册界面2.2 系统功能2.2.1 快递信息管理:2.2.2 位置信息管理:2.2.3 配送人员分配:2.2.4 路线规划:2.2.5 个人中心:2.2.6 退换快递处理:…

Profinet转CANopen主站网关与堡盟编码器通讯案例

Profinet转CANopen主站网关(XD-COPNm20)为CPU与堡盟编码器的通讯提供了CANopen协议向Profinet协议转换互通的桥梁。CANopen是一种基于CAN总线的通讯协议,它被广泛应用于工业自动化领域,而Profinet是一种以太网协议,其优点是高速传输和广泛的可…

前端JavaScript篇之JavaScript为什么要进行变量提升,它导致了什么问题?什么是尾调用,使用尾调用有什么好处?

目录 JavaScript为什么要进行变量提升,它导致了什么问题?总结 什么是尾调用,使用尾调用有什么好处?总结 JavaScript为什么要进行变量提升,它导致了什么问题? 变量提升是JavaScript在代码执行之前对变量和函…

机器学习---半监督学习简单示例(标签传播算法)

1. 使用半监督学习方法 Label Spreading 在一个生成的二维数据集上进行标签传播 import numpy as np import matplotlib.pyplot as plt from sklearn.semi_supervised import label_propagation from sklearn.datasets import make_circles# generate ring with inner box n_s…

vue3中自定义简易版hooks,computed筛选

一、默认computed筛选方式 <template><div><input type"text" v-model"mytext"><ul><li v-for"data in computedList" :key"data">{{data}}</li></ul></div> </template><…

TryHackMe-Net Sec Challenge练习

本文相关的TryHackMe实验房间链接&#xff1a;TryHackMe | Why Subscribe nmap nmap -T5 -p- 10.10.90.32 -T5 扫描速度 -p- 全端口扫描 答题&#xff1a; 这题叫我们找藏在http服务下的flag&#xff0c;根据上面扫出来的端口&#xff0c;所以我们开始搞80 这里简单介绍一下…

EMNLP 2023精选:Text-to-SQL任务的前沿进展(上篇)——正会论文解读

导语 本文记录了今年的自然语言处理国际顶级会议EMNLP 2023中接收的所有与Text-to-SQL相关&#xff08;通过搜索标题关键词查找得到&#xff0c;可能不全&#xff09;的论文&#xff0c;共计12篇&#xff0c;包含5篇正会论文和7篇Findings论文&#xff0c;以下是对这些论文的略…

打印文件pdf怎么转换成word文档?pdf转换工具推荐

有时候我们可能需要重用PDF文件中的文本内容&#xff0c;比如引用某些段落、复制粘贴特定文字或提取数据&#xff0c;通过将pdf文件转换成word&#xff0c;可以轻松地提取和重用其中的文本&#xff0c;节省时间和努力&#xff0c;那么pdf怎么转word呢&#xff1f;可以试试本文推…

React 中实现拖拽功能-插件 react-beautiful-dnd

拖拽功能在平时开发中是很常见的&#xff0c;这篇文章主要使用react-beautiful-dnd插件实现此功能。 非常好用&#xff0c;附上GitHub地址&#xff1a;https://github.com/atlassian/react-beautiful-dnd 安装及引入 // 1.引入 # yarn yarn add react-beautiful-dnd# npm npm…

左旋字符串的三种方法,并判断一个字符串是否为另外一个字符串旋转之后的字符串。(strcpy,strncat,strcmp,strstr函数的介绍)

一. 实现一个函数&#xff0c;可以左旋字符串中的k个字符。 例如&#xff1a; ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB 通过分析&#xff0c;可以知道实际的旋转次数&#xff0c;其实是k%&#xff08;字符串长度&#xff09;。假设一个字…

小白水平理解面试经典题目_数组类LeetCode 118 Pascal‘s Triangle【回归解法】

LeetCode 118 生成杨辉三角&#xff08;Pascal’s Triangle&#xff09; 小白渣翻译 给定一个非负整数 numRows&#xff0c;生成杨辉三角的前 numRows 行。 在杨辉三角中&#xff0c;每个数是它左上方和右上方的数的和。 例子 这里是小白理解 那么这种题目一上来看&#xf…