DAY 4 关于可视化工具的选型记录
参与的SITP项目的第一个任务是调研目前可视化软件的情况然后选型。对于初次接触这方面的我来说,可视化是比较容易理解的,但自己却从来没有接触过相关的软件,所以刚开始的我是一头雾水,不知道从何下手,于是询问了导师和学长,并到网上查询了相关信息。
可视化工具
在经过几番调研之后,我对可视化工具理解——可视化工具将收集到的数据整理形成的数据库以图表的形式呈现给用户。我们熟知的Excel就属于可视化工具。
调研经过
在调研中,首先我们整理出了一些近年来实用较为普遍的可视化工具:Echarts、AntV、Highcharts、FineReport、Tableau、FineBI、PowerBI、R-ggplot2、Python、igragh、networkx、neo4j、tigergraph、Cayley、BDP、DATEfocus、d3js、ownthink.在进一步的调研下,我们发现可视化工具分为多种类型,而以上列举的工具也是分为几种类型的——纯可视化图表生成类、可视化报表类、商业智能分析类、可视化大屏类、数据挖掘编程语言类。
在导师和学长的指引下,我们进一步挑出了适合我们研究项目的可视化工具,即适用于知识图谱可视化的工具——实现知识库以实体点之间用关系边链接而形成的一种图结构,其中包括Tableau、R-ggplot2、Echarts、igraph、networkx、neo4j、tigergraph、Cayley、BDP、DATEfocus、AntV、FineReport、d3js.
在挑出以上工具以后,我们便进行分配,每人去调研其中2-3个可视化工具。我调研的是Tableau、R-ggplot2、Echarts。在对以上三个工具调研的过程中,我对可视化工具又有了新的认识,以下便是我对这三个工具的调研结果:
- Echarts
Echarts是一种基于JavaScript编程语言的可视化工具,相对于d3js,使用Echarts进行可视化的成本较低,Echarts是开源的并且API封装完善,操作简单易上手,但它不支持事件处理。
( 开源:开放源代码,便于用户利用源代码在其基础上进行修改和学习
API:Application Programming Interface,应用程序接口,是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。)
-
Tableau
属于商业软件,用户不需通过编程语言即可使用,属于开源可视化工具。但经调查发现,Tableau本身不具有知识图谱可视化功能,需要自行绘制。 -
R-ggplot2
R-ggplot2是一种基于R语言的可视化工具,ggplot学习起来较为复杂在画图之前需要做一些繁琐的数据整形和处理工作,ggplot只接受长数据,且无知识图谱可视化功能,只能自行绘制。
在以上调研中我排除了Tableau和R-ggplot2,并进一步调研Echarts,在调研过程中,我又遇到了cytoscape,发现cytoscape分为cytoscape和cytoscape.js,后者近年来普遍应用于知识图谱可视化前端的开发。两者均易上手,且事件交互性较好,一下便是二者区别:
二者均为开源可视化工具,并且其可以实现边的伸缩与弯曲,灵活处理实体点间的连线关系。
在经过我们小组调研完的第一次讨论之后,我们决定留下基于js(JavaScript)编程语言,可实现边,并且可以以动态形式呈现图谱的工具——neo4j、cytoscape.js,并进行进一步的调研。
调研过程中我们发现将图数据库与可视化工具有所混淆,neo4j是图数据库,主要是后端储存和输送数据,要靠js在网站前端实现与数据库的数据交换,而cytoscape.js是适合做图展示和交互的js库,可用于处理可视化前端,所以我们最终选定了cytoscape.js作为我们的可视化工具。
参考来源:
-
CSDN(《Echarts 绘制关系图(知识图谱可视化)》、《Echarts-实现结直肠癌知识图谱可视化》);
-
各可视化工具官网
-
简书(《来一场Cytoscape的旅行之出行》)