gephi+echarts实现可视化的网络关系图
最近工作中需要展示客户合作关系图。感觉是一个比较有意思的事情,就花了些时间研究了一下。
原始数据:是一个xlsx文件,保存着客户的合作关系,每一行记录表示一次合作,合作的人员用分号分割。如下图的“作者”列。
目标:是生成与“Zhong Lin Wang”直接合作或间接合作的作者的关系图。
实施过程
(1)第一步,首先将作者处理成“图”的“节点”和“边”。结果如下图。
在这里,我使用的是java和mysql数据库,用java将作者列解析出来导入mysql数据库,使用mysql数据库的表连接,可以生成合作关系。然后从数据库中导出xlsx就行。具体代码就不赘述了。这一步比较简单,不同的人可能有不同的做法。我们的目标是生成“图”的“节点”和“边”,以便后续导入gephi生成可视化图。
(2)第二步,使用bfs算法,生成“Zhong Lin Wang”的直接关系节点和间接关系节点。同样还是以“图”的“节点”和“边”形式导出(与第一步格式一样)。
bfs算法比较简单,在此就不赘述了。