本次是社会网络分析专辑的第四篇文章,往期文章请查阅——

社会网络分析(一) | python的Networkx库基础知识

社会网络分析(二) | 论文阅读:中国与国际媒体互引的社会网络分析

社会网络分析(三) | 社会网络分析中的基本概念

如题,数据猿将展示如何快速使用Gephi的基本功能,完成社会网络数据的可视化、

目录如下——

Gephi简介

Gephi 是一款转为网络分析为目的设计的一款数据可视化处理软件,立志Like Photoshop™ for graphs.,向PhotoShop看齐。

所以,整体来看,Gephi的功能非常简洁方便,工具栏菜单栏都有那么一点儿PS的风格,是社会网络可视化中最方便的工具(自认为没有之一)。

演示环境:gephi 0.92

数据准备

本文使用《倚天屠龙记》人物的共现关系的矩阵数据,形成无向单图。

数据大致结构如下所示——

以上矩阵数据的思想是,两个名字在小说中的同一段落出现过,两人在矩阵中的值就计为1,没有同时出现就是空值。这样就能汇聚互相联系的名字形成网络了。

导入数据

进入Gephi,点击文件,点击导入电子表格。

Gephi支持三种类型的excel数据导入,分别是——

其中,最通用的是矩阵和节点+边表格

  • 边数据+节点表格;分别需要导入边数据和节点数据,类似于networkx生成图的原理。需要注意的是,边数据是必不可少的,可以有SourceTarget的点,分别表示连入和连出的点,需要一一对应,包括边的权重。节点数据就有每一个点的属性。

  • 矩阵数据:两个节点对应的属性值组成的矩阵,可以看作是Source和Target再加上一个属性的数据结构。我们本次演示就是矩阵类型的数据。

导入数据后,选择分隔符和所导入数据的表格类型,有的时候需要指定字符集,有时Gephi并不能很好地识别csv或者Excel的编码,就需要手动调整了。

后续只需要继续下一步和完成即可,最后,我们得到这样一个粗糙的原始图——

布局

Gephi主要有布局、统计、外观、过滤、概览、预览这6大功能。

因为最终的目的是可视化,作为最为可视化中最重要的布局部分就需要多次操作,已符合我们的可视化要求。

Gephi内置了七种布局方法,各有千秋,最常用的是Force Atlas、YIfan Hu和OpenOrd。可以快速实现较为美观的图形布局。

经过OpenOrd的初步布局,如下所示——

统计

统计功能中的概念,之前在  【社会网络分析(三) | 社会网络分析中的基本概念】 一文中有所涉及,相当于一个计算的过程,可以得到图的每一行数据的算法结果。

这里,我将全部算法都运行一下——

外观

外观功能决定着可视化是否好看。

可以发现,外观下方可以来调整节点和边的颜色、大小、标签颜色、标签尺寸。可以分为统一颜色、分类和排序三个分类功能。

如下所示,依据度的结果,调整节点的大小排序——

依据模块化的结果,给节点分类涂色——

布局(第二次)

经过以上操作,图像已经有点颜色了,为了更清晰地显示重点信息,我们再次布局。

这里,调整为了Force Atlas来布局。为了节点之间分布比较集中,增大了吸引强度参数。

可以清晰地看到,社区探测为同一“群体”的,都集中在一个位置。

概览

为了便于观察,需要给每个节点显示标签。在这里显示的就是每一个角色名字。

注意,需要打开标签显示,然后设置节点显示方式,再设置显示字体(若要要显示中文的话,必须是中文字体)

可以清晰地看到,少林寺的和尚都是橙色那一类,朱元璋一伙都是绿色一类,丐帮基本是黑色一类。

这些都是通过模块化算法得来,当然可以使用其他来显示,也能得到一些有意思的信息。

过滤

数据猿想要知道张无忌等主要角色的人物关系。所以就需要找到“度”较高的角色,在网络中和很多人有关系的。

因此,这些找到过滤功能,在拓扑中选择度范围,将其拖拽到查询中,拉动度范围设置,这里的设置参数可以根据实际情况调整。点击自动应用后,得到如下图形——

布局(第三次)

为了使得过滤出的也好看一点,所以再次进行布局调整。

调整其吸引强度,使得网络之间疏密比较合适,便于看清楚人物关系和相应的标签。

预览

经过以上步骤,我们发现,图像已经像那么回事了。但如何导出图形呢?就需要预览功能了。

相对概览来说,预览中功能更全。预览可以详细调整节点和标签、节点和边的显示。这里,数据猿调整了图形的字体、颜色和边的显示。

本来希望看起来更好看,不过限于数据猿的审美水平,最后的效果貌似也不好看。

在预览中得到合适的图形,就可以点击预览视窗左下角,将其保存为PNG、JPG文件了。

小结

本文是软件操作的教程文章,比较枯燥,耐心看到这里已经很不容易了。比心

emmm....废话不说,直接上Gephi进阶建议——

  1. 查阅刘勇老师的书籍《网络数据可视化与分析利器:Gephi 中文教程(全彩)》。想要精通Gephi,阅读英文的文档比较难,而这本书门槛低,讲解详细全面,非常适合中文环境下的Gephi学习。

  2. 除了数据分析基本概念,还需要增加一些设计思想,保证可以从容地使用布局和外观功能,得到漂亮的图形。

本文写作较仓促,部分操作过程没有详细呈现,如需要交流请直接在本文下方留言~

往期经典文章:

社会网络分析(三) | 社会网络分析中的基本概念

python办公自动化(一) | chardet库自动读写多编码格式的文件

python办公自动化(二) | 读取.txt、.data、.doc和.docx文档的部分内容

参考资料:

官方网站: https://gephi.org/

刘勇,杜一.网络数据可视化与分析利器:Gephi 中文教程(全彩)[M]. 北京:电子工业出版社.2017

文字编辑:数据猿Riggle

首发平台:文科数据员(vxID:HSS_data)

社会网络分析(四) | 快速上手Gephi,绘制小说人物关系网络相关推荐

  1. 如何快速理清并绘制复杂人物关系图

    两个主要方法:分类法.代际法(两种方法经常会结合着使用),基本能够把每个故事里的复杂人物关系厘清. 01 分类法 简单来说,就是把相同阵营/家庭/组织的人物归类到一起.这么说可能还是有点抽象,下面以题 ...

  2. gephi mysql_使用Gephi分析论坛社交关系网络

    本文用Python抓取QQ群论坛中的发贴.留言数据,以此构成社交关系数据,再进行数据处理,最后用Gephi绘制社交关系网络图.数据源选取的是QQ群论坛(一个收费的成长学习论坛,论坛沉淀了一年的数据). ...

  3. 【用matplotlib,wordcloud和pyecharts分析三国的分词,词频,词性,小说人物出场次数排序小说人物关系】

    前言 为了顺利完成作业,经过几天的网上查阅完成了[根据第1部分自然语言处理教学内容,请选择一本你喜欢的小说,利用上课讲的但不限于授课内容,对该小说进行分析.比如分析该小说的分词,词频,词性,小说人物出 ...

  4. python关系图谱_python 绘制三国人物关系图

    author:weizhendong data:2019.12.19 func:绘制三国演义人物关系图 """ import codecs import jieba.po ...

  5. python人像绘制_python 绘制三国人物关系图

    author:weizhendong data:2019.12.19 func:绘制三国演义人物关系图 """ import codecs import jieba.po ...

  6. Python实现小说人物关系输出(完整+修正)

    这篇博客提供能够输出小说人物关系的完整python代码. 代码的原作者是Qingyu Mao,十分感谢!! 以下是Mao的github链接和博客教程链接: @source: https://githu ...

  7. python 小说人物分析_用python分析小说人物关系(二)——实战篇

    用到的工具jieba jieba分词,最好用的开源中文分词工具.他最主要的两个功能是分词和关键词的抽取.在这里我们需要用他的分词功能来提取文本中的人名. gephi gephi是一个开源的复杂网络数据 ...

  8. python人物关系抽取小说_用python分析小说人物关系(一)——理论篇

    1.工具介绍 jieba jieba分词,最好用的开源中文分词工具.他最主要的两个功能是分词和关键词的抽取.在这里,我们需要用他的分词功能来提取文本中的人名. gephi gephi是一个开源的复杂网 ...

  9. NLP分析小说人物关系,找找主人公的真爱。

    思路 基于共现来挖掘人物之间的关系. 准备好三个存储器 names 存放的是人物出现次数,用来后面刻画节点的大小.names类似'叶三姐': 8, '马鞍': 6, relationships 存放人 ...

最新文章

  1. Homebrew 1.9发布,将支持Linux与Windows 10
  2. 数据仓库自动抽取:通过 SQL Server 企业管理器中的数据转换服务 (DTS) 设计器 创建 Analysis Services 处理任务...
  3. OpenCV的cv::cvtColor函数之“CV_RGB2GRAY”: 未声明的标识符错误解决方法
  4. 多线程编程:阻塞、并发队列的使用总结
  5. LeetCode 1275. 找出井字棋的获胜者(位运算)
  6. 采用优化卷积神经网络的红外目标识别系统
  7. coreos 安装mysql_如何执行CoreOS Linux的裸机安装
  8. IOS ActivityIndicator 活动指示器使用
  9. 目标检测(一)--Objectness算法总体理解,整理及总结
  10. ESP32上手笔记 | 06 -驱动1.3‘ ST7789 SPI屏幕(TFT_eSPI)
  11. 可编程串口接口芯片8251A
  12. 寻找因数——算法简化
  13. pycharm 软件详细使用教程,新手必看篇
  14. 如何让你的跑步能力变的更强大!
  15. 2020寒假第三周总结
  16. Google SketchUp,一款很有趣的软件,可以创建你所想要的任何3D模型
  17. 网站建设:网站安全检测工具
  18. 51单片机c语言试题及答案,单片机C语言期末考试题..
  19. SystemVerilog中的Events事件
  20. 支付宝自动续费申请PHP,APP是如何实现自动续费的?

热门文章

  1. 泰安柒柒:做国外问卷调查,不能只看收入
  2. php虚拟电话号码,[视频]一号通电信诈骗追踪 虚拟号码服务藏漏洞
  3. 专注安防监控,雄迈消费类产品全线标配AI功能,让家用类监控更智能
  4. 深入解读PDU/BDU,做好高压配电管理
  5. 【sylar】框架篇-Chapter9-hook 模块
  6. 谨以此文纪念2019年春招
  7. OpenGL 纹理本质
  8. 面试必刷算法TOP101之图算法篇 TOP37
  9. java 重量单位换算_[Java教程]JS:重量单位换算
  10. 海康工业相机功能模块-参数保存、加载、批量复制参数