《权力的游戏》人物谱系图可视化
项目地址: https://github.com/woriazzc/GOT_SocialNetGraph
参考[1]: https://zhuanlan.zhihu.com/p/92412494
参考[2]: https://blog.csdn.net/weixin_44324814/article/details/108100159
启动项目
具体操作请见github项目地址。
在参考[1]中的项目里给出的 GOT.csv 并不是可以直接使用的格式,可以参考我的github中的 GOT.csv 修改格式,或者直接用我的github中的 GOT.csv。
这里介绍Windows下的配置方式。
配置neo4j
以Windows10为例
安装java环境:
https://www.oracle.com/java/technologies/javase-downloads.html
从上面的链接下载JDK,跟随导引一步一步安装完成。
如下图添加系统变量。注意这里的路径要换成你刚才安装JDK的路径。

在Path中添加新的路径。

安装完成后cmd中输入java -version检查是否安装完成。
参考 https://blog.csdn.net/vivian_ll/article/details/89312526
从官网下载最新版 Neo4j 社区版(Community)。需要注册后才能下载。
下载好后解压到自己想放的盘里,例如:E:\Program Files (x86)\neo4j-community-3.4.0
同安装Java,配置好环境变量。
进入控制台。
1 | neo4j console |
根据提示进入 http://localhost:7474/
第一次进入会提示修改密码。
导入数据集
在 localhost:7474 中找到最上方有 ‘$’ 符号的位置,输入
1 | LOAD CSV WITH HEADERS FROM "https://www.macalester.edu/~abeverid/data/stormofswords.csv" AS row |
点击右侧运行符号运行后结果如下图。

配置node.js
首先你的电脑里要有node.js,这里就不再讲怎么装nodejs了。
安装依赖。
1 | npm install express |
本项目要用到require,如果之后的步骤中提示找不到模块。参考 https://www.cnblogs.com/xiaofenguo/p/12084391.html
也可以尝试全局安装。
1 | npm install express -g |
启动项目
在 server.js 中找到配置密码的位置,修改为你设置的neo4j密码。

1 | #启动neo4j |
打开localhost:8888,就可以看到了。
1 | #停止neo4j |
要注意如果以后修改了文件中的内容后要在 server.js 中改一下端口再访问,否则会因为缓存过而无法得到修改后的网页。

NetworkX+Gephi美化
到上面为止已经可以做到交互与可视化了,但是还是觉得图太丑了。
那么就可以用到 Gephi 工具。
参考 https://blog.csdn.net/weixin_44324814/article/details/108100159
首先要下载安装好Gephi,这里就不讲了。
根据上面的链接中的代码得到社区划分以及Betweenness。
1 | nx.write_gexf(G, 'game.gexf') |
同样用上面的代码导出.gexf文件。
在Gephi中打开上面的.gexf文件。
接下来就不要跟着上面的参考链接做了,因为我们的数据集不一样而且Gephi版本也不同。
-
在“概览”窗口中。给划分好的各个社区网络画上不同的颜色:
在外观-节点-颜色-Partition 中选择 community(这里的 community 就是我们刚才为每个点添加的社区编号属性)
-
仍然在“概览”窗口中。决定节点及节点上标注的角色姓名的大小:
在外观-节点-大小-Ranking 中选择 betweenness(这里的 betweenness 就是我们刚才为每个点添加的 betweenness 属性)
这一步可以做也可以不做,看各人审美修改即可。
-
仍然在“概览”窗口中。在“布局”窗口下选择布局算法,可以多尝试几种找到合适的。这里选用的是“Yifan Hu”。点击运行。
-
换到“预览”窗口。
配置边以及节点标签。注意要勾选“重新调整边权”,并可以设置"Min. rescaled weight"与"Max. rescaled weight",还要在“节点标签”中勾选“显示标签”,并调整“最大字体”。
如果之后看不到右侧的预览窗口中的图像,可以在最上边的“窗口”标签页中打开“预览”,并刷新。
-
点击“SVG/PDF/PNG”导出图像。
