2019年你不能错过的数据可视化工具
- 2019 年 10 月 4 日
- 笔记
在数据科学领域,数据可视化无疑是当今的首要词汇。无论想分析哪些数据,进行数据可视化似乎都是必要的步骤。但是很多人没有特定的数据可视化概念,也不知道如何实现它。所以,今天将带您了解数据可视化的定义,概念,实现过程和工具。
1. 什么是数据可视化?
科学可视化,信息可视化和可视化分析通常被视为可视化的三个主要分支。新的学科“数据可视化”是这三个分支的组合,是视觉研究领域的一个新起点。
广义数据可视化涉及各种学科,如信息技术,自然科学,统计分析,图形,交互和地理信息。
1.1科学可视化
科学可视化是科学领域的跨学科研究和应用领域,侧重于三维现象的可视化,如建筑学,气象学,医学或生物系统。其目的是以图形方式说明科学数据,使科学家能够从数据中理解,解释和收集模式。
1.2信息可视化
信息可视化是对抽象数据的交互式视觉表示的研究,以增强人类的认知。抽象数据包括数字和非数字数据,如地理信息和文本。直方图,趋势图,流程图和树图等图形都属于信息可视化,这些图形的设计将抽象概念转换为视觉信息。
1.3可视化分析
可视化分析是随着科学可视化和信息可视化的发展而发展的新领域,重点在于通过交互式可视化界面进行分析推理。
来自FineReport
2. 为什么需要数据可视化?
人类通过视觉获得的信息量远远超过其他器官。数据可视化是利用人类自然技能来提高数据处理和组织效率。
可视化可以帮助我们处理更复杂的信息并增强内存。
大多数人对统计数据知之甚少,基本统计方法(平均值,中位数,范围等)与人类认知性质不符。其中一个最着名的例子是Anscombe的四重奏。根据统计方法很难看到法律,但是当数据可视化时,规则非常清楚。
3. 如何实现数据可视化?
从技术上讲,对数据可视化最简单的理解是从数据空间到图形空间的映射。
经典的可视化实现过程是处理和过滤数据,将其转换为可表达的可视化形式,然后将其呈现为用户可见的视图。
可视化技术堆栈
通常,专业数据可视化工程师需要掌握以下技术堆栈:
·基础数学:三角函数,线性代数,几何算法
·图形:Canvas,SVG,WebGL,计算图形,图论
·工程算法:基本算法,统计算法,通用布局算法
·数据分析:数据清理,统计,数据建模
·设计美学:设计原则,审美判断,色彩,互动,认知
·视觉基础:可视化编码,可视化分析,图形交互
·可视化解决方案:正确使用图表,可视化常见业务场景
4. 通用数据可视化工具
一般来说,学术界使用R语言,ggplot2和Python。普通用户最熟悉的工具是Excel。商业产品包括Tableau,FineReport,Power BI等。
1) D3
https://d3js.org/
D3.js是一个基于数据操作文档的JavaScript库。D3将强大的可视化组件与数据驱动的DOM操作方法相结合。
评价:D3具有强大的SVG操作能力。它可以轻松地将数据映射到SVG属性,并集成了大量用于数据处理,布局算法和计算图形的工具和方法。它拥有强大的社区和丰富的演示。但是,它的API太低级了。学习和使用成本高时,可重用性不高。
2) HighCharts
https://www.highcharts.com/
HighCharts是一个用纯JavaScript编写的图表库,使用户可以轻松方便地将交互式图表添加到Web应用程序中。这是Web上使用最广泛的图表工具,商业用途需要购买商业许可证。
评估:使用阈值非常低。HighCharts具有良好的兼容性,并且成熟且广泛使用。但是,风格很旧,很难扩展图表。商业用途需要购买版权。
3) Echarts
https://echarts.apache.org/en/index.html
Echarts是百度数据可视化团队的企业级图表工具。它是一个纯粹的Javascript图表库,可在PC和移动设备上平稳运行,并且与大多数当前浏览器兼容。
评估:Echarts拥有丰富的图表类型,涵盖了常规统计图表。但它不像Vega和其他基于图形语法的图表库那样灵活,用户很难定制一些复杂的关系图表。
4) Leaflet
https://leafletjs.com/
Leaflet是用于移动设备的交互式地图的JavaScript库。它具有大多数开发人员所需的所有映射功能。
评估:它可以专门针对地图应用程序,并且与移动设备具有良好的兼容性。API支持插件机制,但功能相对简单。用户需要具备二次开发功能。
5) Vega
https://vega.github.io/vega/
Vega是一组交互式图形语法,用于定义从数据到图形,通用交互语法和常见图形元素的映射规则。用户可以自由组合Vega语法来构建各种图表。
评估:完全基于JSON语法,Vega提供从数据到图形的映射规则,它支持常见的交互语法。但是语法设计很复杂,使用和学习的成本很高。
6) deck.gl
https://deck.gl/#/
deck.gl是一个基于WebGL的可视化类库,用于大数据分析。它由优步的可视化团队开发。
评估:deck.gl专注于3D地图可视化。有许多内置的地理信息可视化常见场景。它支持大规模数据的可视化。但是用户需要了解WebGL并且层扩展更复杂。
7) Power BI
https://powerbi.microsoft.com/en-us/
Power BI是一组业务分析工具,可在组织中提供见解。它可以连接数百个数据源,简化数据准备并提供即时分析。组织可以在Web和移动设备上查看Power BI生成的报告。
评估:Power BI类似于Excel的桌面BI工具,而该功能比Excel更强大。它支持多个数据源。价格不高。但它只能用作单独的BI工具,并且无法将其与现有系统集成。
8) Tableau
https://www.tableau.com/
Tableau是一种用于可视化分析数据的商业智能工具。用户可以创建和分发交互式和可共享的仪表板,以图形和图表的形式描绘数据的趋势,变化和密度。Tableau可以连接到文件,关系数据源和大数据源以获取和处理数据。
评估:Tableau是桌面系统中最简单的商业智能工具。它不会强制用户编写自定义代码。该软件允许数据混合和实时协作。但它价格昂贵,在定制和售后服务方面表现不佳。
9) FineReport
http://www.finereport.com/
FineReport是一个用纯Java编写的企业级Web报告工具,它结合了数据可视化和数据输入。它基于“无代码开发”概念设计。使用FineReport,用户可以制作复杂的报告和酷炫的仪表板,并通过简单的拖放操作构建决策平台。
评估:FineReport可以直接连接到各种数据库,方便快捷地定制各种复杂的报告和酷炫的仪表板。界面类似于Excel的界面。它提供19种类别和超过50种风格的自行开发的HTML5图表,具有很酷的3D和动态效果。最重要的是它的个人版本是完全免费的。
结论
数据可视化是一个涉及许多学科的巨大领域。正是由于这种跨学科性质,可视化领域充满了活力和机遇。