关系图的现状

随着数据的暴增以及数据搜集技术的发展,目前各个公司都积累了很多的数据。从这些数据中挖掘信息,进而发展出产品,或者分析用户信息,对用户进行画像,类似这样的需求越来越多。

而这些数据最终的呈现,都会以可视化的形式来作为载体。关系图应运而生。

注意:我们做关系图的时候,一定要在初期明确:

这个图我们是准备让用户当成工具来用,还是只是随便看一看而已?

因为如果是想将其作为一个工具,那么我们就需要加上各种辅助功能,比如编辑、元素的展示隐藏的自定义等等。这样用户可以根据自己的需求,筛选精简数据,将其真正当成一个工具来使用。

而如果只是作为一个纯展示的页面,那么就应该少交互、多结论。有点类似大屏的设计原则。

前沿研究方向

可以看下北大的这个文章:http://vis.pku.edu.cn/blog/gotree/

关系图(树)的各种形态

这里有很多超乎想象的树图,可以帮助我们寻找灵感:

https://treevis.net/

还有这个网站也不错:

http://go-tree.info/gallery.html

这里还有一个在线树图编辑器,挺牛逼的:

http://go-tree.info/app/index.html

各公司的关系图现状

企查查

企查查对于关系图的应用,典型的有两个。

关系图谱

企查查的关系图谱,类似这样:

qcc_gxtp

这个图从源码来看,是用 D3.js 画的,输出的是 Canvas 画布。通过抓包,可以看到他们后端只提供了基础的节点和关系连线数据,因此布局是前端来计算的。针对同一个页面地址,每次刷新页面后,里面的人员-公司布局都是不变的,因此可以知道他们这个布局是通过自己设计的算法来实现的,没有采用 D3 的 force 布局。这样布局的好处是用户每次看到的内容不会随意变更,且开发人员可控;弊端就是布局不一定美观(特别是针对极端数据),且连线交叉情况较多,会给用户增加一定的视觉成本。

股权穿透图

股权穿透图的效果如下:

qcc_gxtp

企查查在交互上做得不错,用户还可以自己编辑(删除)节点。但是这个图有天生的缺陷,就是同一个层级数据较多的时候,横向展开太宽了,很不利于查看。如果是在手机上,受限于屏幕大小和交互的不便利性,就更没法看了。

全历史

全历史在时间轴和关系图上,都做得很不错,网上有很多正面的评价。

另外他们的过渡动画是一大亮点。

在设计、细节上,也是非常有特色的。

关系图

全历史的关系图分为了 PC 版和移动版,二者是不一样的。

PC 版

PC 版关系图效果如下:

qls_pc_gxt

这个关系图的排版非常美观,因为这是提前排好,后端直接把每个节点的坐标数据传递给了前端。因此是加入了人为控制的。

这个关系图还有播放功能,可以逐个演示关系,并且每个关系都是可以点击的,点击后会展示这个关系的由来,也就是关系溯源功能,这个非常赞。

页面上微动效很多,比如选中节点,节点外围会有一圈转动的光晕等等,这些也是增色的点。

移动版

移动版的,可以在全历史的 APP 中查看,效果如下:

qls_pc_gxt

移动版的关系图,考虑到手机的大小和交互性,功能上比 PC 版做了一些删减和适配。

这个图也是很不错的,不过关键在于数据,通过分类将某个人物的各方面信息展示出来,清晰明了,真正帮助用户快速获取信息。

注意,这个图在节点样式上做了很多功夫,通过节点的图片、形状等等来表达不同的分类,值得我们学习。

时间轴

时间轴部分比较简单,主要是前端简单实现即可,重点在于视觉设计,因此这里就略过了。

族谱

qls_pc_gxt

族谱图的亮点主要是在布局上,这个可以实际去用一下,是有一些考虑在里面的,而不是简单的一个树状层级布局。

和企查查的股权穿透图一样,这个族谱图也有弊端,在横向关系较多的时候,不方便查看。

另外全历史的移动端图形,目前没有切换横屏的快捷入口,这也是一个可以优化的地方。