摘要
唐上下跨度三百年,以长安和洛阳为首的两大都市吸引着来自全国各地的人们,一如今日之北上。除了用当地的生产收入水平衡量城市的发达程度以外,人口的迁徙也能从一个侧面反映当时城市的兴盛程度,一个人的出生地往往不能选择,但在哪个城市度过余生却可以选择,众多名人的选择则能反应城市的吸引力。本文采用了社会网络和数据可视化的方法,对唐朝约1000名重要人物的出生地和死亡地进行可视化,以呈现宏观角度的政治、文化、经济中心变迁。
数据集
笔者抽取了中国历代人物传记资料库(China Biographical Database Project,简称CBDB)中唐代人物的生卒信息,包括指数年、出生地(若无则用籍贯代替)、死亡地(若无则用卒地代替)。CBDB收录了超过37万人的传记资料,并将其结构化为关系型数据库可供查询,极大地方便了数字人文工作者的工作。
数据清洗
接下里介绍具体在进行可视化时的主要步骤和流程,首先需要对数据进行清洗,从数据库中选取出姓名、指数年、出生地、死亡地、出生地坐标、死亡地坐标都不为空的记录。这些人物往往是历史上的重要人物。其次,在进行散点图的绘制时,对经纬度坐标进行了保留两位有效数据的处理,以合并处于同一位置的地点。由于存在同一地点在不同时期地名不同的现象,保留了出现频次高的地点名称,如将洛阳、河南府统一为洛阳。
可视化编码
本可视化系统包括4种可视化组件,它们分别为地理坐标系组件、时间轴组件、数据组件以及路径显示组件。地图组件为数据可视化提供包括现代地图和历史地图。时间轴组件用来控制动画播放和交互时间范围,展示不同时期人物迁徙数据的变化。数据组件通过对不同的数据类型分别可视化来辅助说明主题。
地理坐标系组件用于地图的绘制,支持在地图坐标系上绘制散点图,线集。通过提供JSON格式的数据,可以将地图进行绘制。底图采用了来自哈佛大学WorldMap项目公元741年的唐代边境图(包含道信息),并且设置了鼠标滚轮缩放的交互。
路径显示组件对迁徙轨迹进行可视化,呈现了从出生地到死亡地的轨迹线,路径组件结合了动态和静态展示,静态部分从蓝色渐变为橙色,动态部分为一个圆点从出生地匀速移动至死亡地。
时间组件用于控制交互时间,由于历史人物的变迁有时间跨度,我们采用时间轴的方式来实现时间组件。在步长的划分上,以10年为步长进行划分呈现“唐代人物迁徙图”。借助时间组件,用户可以点击播放按钮观看连续的动态变化,也可以在任意两个时间节点之间切换,帮助用户进行对比。
数据组件针对不同的数据类型进行可视化。对于地点的编码数据通过散点图和柱状图辅助呈现,这是对大量迁徙数据的一个后统计和后编码。柱状图对生地和卒地人数最多的地方进行了排名。散点图中则将散点分两种颜色,橙色代表此处死亡人数>出生人数,蓝色反之。散点的大小则和|死亡人数-出生人数|成正比,以突显其吸引力大小。
完整的唐代人物迁徙可视化可在电脑端访问:
http://dh.kvlab.org/cbdb_vis/part1_migrate_tang.html
欢迎留下您的宝贵意见!
总结展望
唐代历史上有过多次迁都,长安和洛阳究竟哪个城市的吸引力更大或许能给我们一个答案,当然,本可视化的数据样本还不够充足,在结果的呈现上可能存在偏差。另外,由于人物出生死亡年信息不全,用指数年这个二级指标代替也许会对结果产生偏差。
开发团队
设计开发:邱勇
数据一览:王珂
指导老师:王军
始发于微信公众号:KVision实验室