社会网络分析(四) | 快速上手Gephi,绘制小说人物关系网络
本次是社会网络分析专辑的第四篇文章,往期文章请查阅——
社会网络分析(一) | python的Networkx库基础知识
社会网络分析(二) | 论文阅读:中国与国际媒体互引的社会网络分析
社会网络分析(三) | 社会网络分析中的基本概念
如题,数据猿将展示如何快速使用Gephi的基本功能,完成社会网络数据的可视化、
目录如下——
Gephi简介
Gephi 是一款转为网络分析为目的设计的一款数据可视化处理软件,立志Like Photoshop™ for graphs.,向PhotoShop看齐。
所以,整体来看,Gephi的功能非常简洁方便,工具栏菜单栏都有那么一点儿PS的风格,是社会网络可视化中最方便的工具(自认为没有之一)。
演示环境:gephi 0.92
数据准备
本文使用《倚天屠龙记》人物的共现关系的矩阵数据,形成无向单图。
数据大致结构如下所示——
以上矩阵数据的思想是,两个名字在小说中的同一段落出现过,两人在矩阵中的值就计为1,没有同时出现就是空值。这样就能汇聚互相联系的名字形成网络了。
导入数据
进入Gephi,点击文件,点击导入电子表格。
Gephi
支持三种类型的excel数据导入,分别是——
其中,最通用的是矩阵和节点+边表格
边数据+节点表格;分别需要导入边数据和节点数据,类似于
networkx
生成图的原理。需要注意的是,边数据是必不可少的,可以有Source
和Target
的点,分别表示连入和连出的点,需要一一对应,包括边的权重。节点数据就有每一个点的属性。矩阵数据:两个节点对应的属性值组成的矩阵,可以看作是Source和Target再加上一个属性的数据结构。我们本次演示就是矩阵类型的数据。
导入数据后,选择分隔符和所导入数据的表格类型,有的时候需要指定字符集,有时Gephi并不能很好地识别csv或者Excel的编码,就需要手动调整了。
后续只需要继续下一步和完成即可,最后,我们得到这样一个粗糙的原始图——
布局
Gephi主要有布局、统计、外观、过滤、概览、预览这6大功能。
因为最终的目的是可视化,作为最为可视化中最重要的布局部分就需要多次操作,已符合我们的可视化要求。
Gephi内置了七种布局方法,各有千秋,最常用的是Force Atlas、YIfan Hu和OpenOrd。可以快速实现较为美观的图形布局。
经过OpenOrd的初步布局,如下所示——
统计
统计功能中的概念,之前在 【社会网络分析(三) | 社会网络分析中的基本概念】 一文中有所涉及,相当于一个计算的过程,可以得到图的每一行数据的算法结果。
这里,我将全部算法都运行一下——
外观
外观功能决定着可视化是否好看。
可以发现,外观下方可以来调整节点和边的颜色、大小、标签颜色、标签尺寸。可以分为统一颜色、分类和排序三个分类功能。
如下所示,依据度的结果,调整节点的大小排序——
依据模块化的结果,给节点分类涂色——
布局(第二次)
经过以上操作,图像已经有点颜色了,为了更清晰地显示重点信息,我们再次布局。
这里,调整为了Force Atlas来布局。为了节点之间分布比较集中,增大了吸引强度参数。
可以清晰地看到,社区探测为同一“群体”的,都集中在一个位置。
概览
为了便于观察,需要给每个节点显示标签。在这里显示的就是每一个角色名字。
注意,需要打开标签显示,然后设置节点显示方式,再设置显示字体(若要要显示中文的话,必须是中文字体)
可以清晰地看到,少林寺的和尚都是橙色那一类,朱元璋一伙都是绿色一类,丐帮基本是黑色一类。
这些都是通过模块化算法得来,当然可以使用其他来显示,也能得到一些有意思的信息。
过滤
数据猿想要知道张无忌等主要角色的人物关系。所以就需要找到“度”较高的角色,在网络中和很多人有关系的。
因此,这些找到过滤功能,在拓扑中选择度范围,将其拖拽到查询中,拉动度范围设置,这里的设置参数可以根据实际情况调整。点击自动应用后,得到如下图形——
布局(第三次)
为了使得过滤出的也好看一点,所以再次进行布局调整。
调整其吸引强度,使得网络之间疏密比较合适,便于看清楚人物关系和相应的标签。
预览
经过以上步骤,我们发现,图像已经像那么回事了。但如何导出图形呢?就需要预览功能了。
相对概览来说,预览中功能更全。预览可以详细调整节点和标签、节点和边的显示。这里,数据猿调整了图形的字体、颜色和边的显示。
本来希望看起来更好看,不过限于数据猿的审美水平,最后的效果貌似也不好看。
在预览中得到合适的图形,就可以点击预览视窗左下角,将其保存为PNG、JPG文件了。
小结
本文是软件操作的教程文章,比较枯燥,耐心看到这里已经很不容易了。比心
emmm....废话不说,直接上Gephi进阶建议——
查阅刘勇老师的书籍《网络数据可视化与分析利器:Gephi 中文教程(全彩)》。想要精通Gephi,阅读英文的文档比较难,而这本书门槛低,讲解详细全面,非常适合中文环境下的Gephi学习。
除了数据分析基本概念,还需要增加一些设计思想,保证可以从容地使用布局和外观功能,得到漂亮的图形。
本文写作较仓促,部分操作过程没有详细呈现,如需要交流请直接在本文下方留言~
往期经典文章:
社会网络分析(三) | 社会网络分析中的基本概念
python办公自动化(一) | chardet库自动读写多编码格式的文件
python办公自动化(二) | 读取.txt、.data、.doc和.docx文档的部分内容
参考资料:
官方网站: https://gephi.org/
刘勇,杜一.网络数据可视化与分析利器:Gephi 中文教程(全彩)[M]. 北京:电子工业出版社.2017
文字编辑:数据猿Riggle
首发平台:文科数据员(vxID:HSS_data)
社会网络分析(四) | 快速上手Gephi,绘制小说人物关系网络相关推荐
- 如何快速理清并绘制复杂人物关系图
两个主要方法:分类法.代际法(两种方法经常会结合着使用),基本能够把每个故事里的复杂人物关系厘清. 01 分类法 简单来说,就是把相同阵营/家庭/组织的人物归类到一起.这么说可能还是有点抽象,下面以题 ...
- gephi mysql_使用Gephi分析论坛社交关系网络
本文用Python抓取QQ群论坛中的发贴.留言数据,以此构成社交关系数据,再进行数据处理,最后用Gephi绘制社交关系网络图.数据源选取的是QQ群论坛(一个收费的成长学习论坛,论坛沉淀了一年的数据). ...
- 【用matplotlib,wordcloud和pyecharts分析三国的分词,词频,词性,小说人物出场次数排序小说人物关系】
前言 为了顺利完成作业,经过几天的网上查阅完成了[根据第1部分自然语言处理教学内容,请选择一本你喜欢的小说,利用上课讲的但不限于授课内容,对该小说进行分析.比如分析该小说的分词,词频,词性,小说人物出 ...
- python关系图谱_python 绘制三国人物关系图
author:weizhendong data:2019.12.19 func:绘制三国演义人物关系图 """ import codecs import jieba.po ...
- python人像绘制_python 绘制三国人物关系图
author:weizhendong data:2019.12.19 func:绘制三国演义人物关系图 """ import codecs import jieba.po ...
- Python实现小说人物关系输出(完整+修正)
这篇博客提供能够输出小说人物关系的完整python代码. 代码的原作者是Qingyu Mao,十分感谢!! 以下是Mao的github链接和博客教程链接: @source: https://githu ...
- python 小说人物分析_用python分析小说人物关系(二)——实战篇
用到的工具jieba jieba分词,最好用的开源中文分词工具.他最主要的两个功能是分词和关键词的抽取.在这里我们需要用他的分词功能来提取文本中的人名. gephi gephi是一个开源的复杂网络数据 ...
- python人物关系抽取小说_用python分析小说人物关系(一)——理论篇
1.工具介绍 jieba jieba分词,最好用的开源中文分词工具.他最主要的两个功能是分词和关键词的抽取.在这里,我们需要用他的分词功能来提取文本中的人名. gephi gephi是一个开源的复杂网 ...
- NLP分析小说人物关系,找找主人公的真爱。
思路 基于共现来挖掘人物之间的关系. 准备好三个存储器 names 存放的是人物出现次数,用来后面刻画节点的大小.names类似'叶三姐': 8, '马鞍': 6, relationships 存放人 ...
最新文章
- Homebrew 1.9发布,将支持Linux与Windows 10
- 数据仓库自动抽取:通过 SQL Server 企业管理器中的数据转换服务 (DTS) 设计器 创建 Analysis Services 处理任务...
- OpenCV的cv::cvtColor函数之“CV_RGB2GRAY”: 未声明的标识符错误解决方法
- 多线程编程:阻塞、并发队列的使用总结
- LeetCode 1275. 找出井字棋的获胜者(位运算)
- 采用优化卷积神经网络的红外目标识别系统
- coreos 安装mysql_如何执行CoreOS Linux的裸机安装
- IOS ActivityIndicator 活动指示器使用
- 目标检测(一)--Objectness算法总体理解,整理及总结
- ESP32上手笔记 | 06 -驱动1.3‘ ST7789 SPI屏幕(TFT_eSPI)
- 可编程串口接口芯片8251A
- 寻找因数——算法简化
- pycharm 软件详细使用教程,新手必看篇
- 如何让你的跑步能力变的更强大!
- 2020寒假第三周总结
- Google SketchUp,一款很有趣的软件,可以创建你所想要的任何3D模型
- 网站建设:网站安全检测工具
- 51单片机c语言试题及答案,单片机C语言期末考试题..
- SystemVerilog中的Events事件
- 支付宝自动续费申请PHP,APP是如何实现自动续费的?