⼲货:看了这篇以后不要再说看不懂Circos图了
作者 | 杨振涛
本⽂根据杨振涛 2018 年 5 ⽉ 12 ⽇在【第九届中国数据库技术⼤会】上的演讲内容整理⽽成。
杨振涛
vivo 互联⽹搜索团队负责⼈,专注于数据的存储、检索与可视化,以及软件过程改进;从基因序列数据分析到移动互联⽹搜索,已有 10 年从业经验。开源社区活跃分⼦,发起并组织 Elasticsearch 、 Redis 、 Jenkins 等主题的技术沙龙,并参与多个开源项⽬的⽂档翻译和中⽂化⼯作。技术翻译爱好者, InfoQ 中⽂社区编辑, TED Translator 。加⼊ vivo 之前先后任职于华⼤基因、 TCL ,并参与过 B2C 、移动 IM 及智能⼿表等创业项⽬。
分享⼤纲:
数据可视化浅析
Circos 特性与关键原理
Circos 案例与适⽤场景
可视化的再思考
在定《 Circos : The Beauty of Circle 》这个题⽬的时候,我有点担⼼⼤家会说这是什么⿁东西,另⼀⽅⾯我⽐较乐观的就是⼤家对它的好奇⼼。对可视化⼯程师来说,能够将⾃⼰做的事情清楚的表达给不了解它的⼈,这是⼀个很重要的挑战。
⼀.数据可视化浅析
数据可视化,对很多⼈来讲听到这个词会想到⾮常多的内容,包括有的⼈说我是做 BI 的,就是在做数
据可视化,也是可以这样理解的;⼀些相关的开源项⽬也是⽐较多的,⽐如 ECharts ,很多做前端或 BI 的同学会⽤它来做前台界⾯的展⽰;还包括⼀些垂直领域的,⽐如⽹络数据 network 的展⽰,还有时间序列 timeline 类型数据的展⽰等。这⾥也提⼀下概念,提到数据可视化,很多⼈关⼼它跟信息可视化等这些概念的区别,在我看来,参考数据 - 信息 - 知识 - 智慧模型,数据可视化⼯作的⽬的就是加快上升和提炼的过程。
redis支持的五种数据类型
⽐如说很多⽼板⾮常喜欢看数据⼤屏,那要精确地定义数据做了那么多的分析,最后绘制了那么漂亮的图表,就给⽼板看⼀眼,这个价值到底在哪⾥?是不是 Boss 驱动开发?就为了满⾜⽼板的需求?其实这就是知识到智慧的提炼过程;因为如果⽼板的决策做错了的话,那么整个团队可能就完蛋了,那么他的决策依据怎么来?就是依靠最后呈现的这些结果。
所以如果我们要定义⼀下,数据可视化是个什么样的问题呢?这⾥有⼀些备选答案,⽐如说它可能是个数据问题、编程/ 算法问题、设计 / 美学问题,或者有的⼈说是统计学问题,因为统计学家在多年前就开始做数据的分析和图表的绘制,后⽂有相应的案例。我个⼈的答案是 “ 以上全是 ” ,所以数据可视化是⼀个相对融合和跨界的⼯作。
我这⾥的数据案例会相对简单些,偏重为 Circos 做⼀个铺垫。注意这⾥不是概括,只列举了⼀些典型的数据类型。有些数据可能是典型的开源⼯具⽆法直接展⽰的数据类型,左下⾓这个图是 2016 年春运迁徙图,连外国⼈都会很关注中国的⼈⼝迁徙,原图是动态的,这个表达的信息就⾮常直观。
很多公司说我们在做⼤数据,有很多很多 T 或者很多 P 的数据,那如何让那些数据看得见是⼀个很重要的问题。从Circos 的⾓度,它给的是这样的⼀个解法,这⾥给的基本都是 Nature/Science 等期刊的封⾯,呈现出⼀种很炫的效果,都是属于可视化的结果。
我们常说的浏览器,⼀般⼤家想到的就是 Chrome 、 Firefox 、 IE 等⽹页浏览器,其实我个⼈理解的更⼴义的浏览器是,对于⼀堆数据或者信息,要有⼀个⼯具看得见,那这个⼯具就是⼀个⼴义的浏览器。除了我们常说的 Chrome 之外,还有⼀些特别的例⼦:基因组浏览器,展⽰很多的基因相关的特征数据;虚拟天⽂馆软件,有对应的 App ,可以下载体验下;做开发的同学经常使⽤的 MySQL/Redis/MongoDB… 的 GUI 客户端,也属于浏览器的范畴。
关于浏览器的重要性,我们举两个例⼦,第⼀个是以柔光⾃拍等特点著称的 vivo ⼿机,对我们的位于杭州和硅⾕的图像处理专家来说,他们看到的是⼆进制的,⼿机上除了 CPU 还有 GPU ,拍摄时会⽤于图像的实时计算,⼤家都知道图像数据是⼀个多维矩阵,对于我们开发⼈员来讲,它也是⼆进制的,但给⽤户呈现的时候就要⽐较漂亮。所以⽤户看到的是上⾯的第⼆张图⽚;除了单张图⽚之外,它还需要有⼀个集中的地⽅能看到所有的图⽚,即⼿机相册,⽬前的相册都是智能的,可以⾃动按主题、时间、地点等⾃动分类,还可以做⼈脸识别,按不同⼈分类,展⽰谁的照⽚有多少张,这就是⼀个图⽚的浏览器。
下⾯的例⼦是我做过的⼀个基因组的浏览器,基因的原始数据如图中第⼆⾏第⼀个所⽰,学过⽣物的同学可能还记得基因序列上有 ATCG4 种碱基,我们通过对样本经过基因测序仪分析后获得的基因数据就是长这个样⼦。对于分析⼈员来说,他需要⽅便地浏览器这些基因数据,⼈类有⼀些疾病就是因为序列上的⼀个字母出错了,变成其他字母⽽导致的;那么通过基因浏览器看这个图就能看出,基因的结构、起始、终⽌,以及基因的外显⼦和内含⼦,是否发⽣了变异等等。最后⼀张图是⼈的基因组,⼈类有 23 对染⾊体,点击之后可以看到每个染⾊体上的基因数据。
第⼀张图是深圳的路边停车收费告⽰,经常有⼈因为没看懂就被贴罚单;第⼆张图是国外⼀个可视化主题的⼤会上分享的案例,也是关于停车的告⽰,它其实也是⼀个多维数据的展⽰,⾥⾯只少了价格,每天 24 ⼩时,每周七天,免费还是收费?能停还是不能停?清晰明了,如果再加上价格的话就完
美了。从多个⾓度来看,这也许是个⽤户体验的问题,也许是数据结构梳理的不合理问题,也有可能是展⽰的⽅法不对。
前⾯我们介绍了很多数据本⾝的展⽰,其实数据和数据之间的关系的展⽰是⼀个更⼤的命题。这是⼀
个韦恩图,⼤家最常见的是⼆阶和三阶,这个中学数学就学过,集合的交集就是这样⼀个关系;但是四阶、五阶相对见的⽐较少;可能会有六阶的,但我相信⼈类已经⽆法分辨六阶的关系了,因为太多。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。