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和动态效果。最重要的是它的个人版本是完全免费的。

结论

数据可视化是一个涉及许多学科的巨大领域。正是由于这种跨学科性质,可视化领域充满了活力和机遇。