附录:快速创建交互式分析

该附录中包含:

◆ crossfilter.js库

◆ 多维图表库——dc.js

简介

恭喜!至此你已经掌握了 D3数据可视化的全部内容,并且一并探索了各种不同的相关话题和技术。那么如今,你可能会同意,即便在一个像 D3 这样强大的库的帮助下,创建可交互的、精确的、优美的数据可视化仍然是一件繁琐的事情。它通常需要你花费数日乃至数周的时间来完成一个专业的数据可视化工程,这还没有考虑后端所要耗费的精力。要是你需要快速创建一个交互性分析,或者将一个成熟的可视化工程投入商业之前的技术性验证,你也许只需要花费几分钟就够了。本节附录我们将介绍两个 JavaScript 库,从而让你能够在短短几分钟内快速创建基于浏览器交互的多维数据分析。

Crossfilter.js库

Crossfilter.js 是由 D3 作者 Mike Bostock 创建的另外一个库,最初用来增强Square Register [1]的分析能力。

Crossfilter是一个用于在浏览器端做大量多元数据分析的JavaScript库。Crossfilter支持极速的交互(<30ms),支持坐标轴视图,甚至能够处理包含百万级记录的数据集合。

——Crossfilter维基百科(2013年8月)

换句话说,Crossfilter可以为大数据集和多元数据集生成多个数据维度。那么,什么是数据维度呢?一个数据维度可以认为是数据分组或数据分类的一种类型,每一个维度的数据元都代表了一个类别变量。这样解释仍然比较抽象,那么让我们来一起看一个例子,即如何通过Crossfilter将下面的JSON数据集变换为一个多维数据集。我们首先假设下面的数据描述了某一个酒吧的付款交易。

[

{"date": "2011-11-14T01:17:54Z", ...

Get D3.js数据可视化实战手册 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.