大量的单纯性的数据往往会令人很乏味,如果能够将这些数据可视化或者进行分析处理,那么无论从用户体验还是可读性上,都会给浏览者一个很棒的体验。
本文为你介绍 6 款非常实用的开源的 JavaScript 库,你可以将一些数据分析处理、可视化的工作交给它们。
Cascading Tree Sheets(CTS)旨在帮助开发者简化复杂的数据报告。你可以在 Web 页面中轻松嵌入 CTS 部件,来创建地图、图表等形式的可视化效果。无需你拥有专业的 JavaScript 知识。
特点:谷歌地图、条形图、气泡图等 6 个 Web 部件,你只需要编写简单的 HTML 表格和列表,即可产生强大的在线可视化效果。
缺点:可视化选项相当有限。
技能要求:初级
示例/更多信息:CTS 部件
该库可以帮助你将数据绑定到 HTML 文档中,与 Google Chart Tools 不同的是,D3 提供了大量的数据可视化模板,并且可以自定义,你也可以从头开始进行创建。
特点:有才华的设计师可以创建几乎所有他们想要的东西。D3 使用 jQuery 和 CSS 选择器在你的 HTML 文档中选择元素,然后转换它们,比直接使用 JavaScript 更容易。D3 能够处理多种数据格式,包括 XML、CSV 和 JSON 等,并包含了简单遍历数据集的功能。
缺点:D3 非常强大,因此与其他库相比,学习成本要多一些。此外,D3 与早期的 IE 版本不兼容。
技能要求:专家级
示例/更多信息:D3 教程页面
3. Dataset
Dataset 号称“数据转换/管理库”,主要用来简化应用程序内部的数据处理,比如可以从各种来源加载、分析、整理、查询和操纵数据。
特点:Dataset 可以帮助你处理各种任务,比如将数据存储到 Google Spreadsheet、远程轮询实时的数据订阅。此外,Dataset 还得到了多家知名机构的支持。
缺点:功能丰富也意味着你需要多花时间来了解。此外,Dataset 只是一个数据I/O和操作工具,如果要进行进一步复杂的分析和显示,你还需要其他一些工具。
技能要求:高级用户、专家。
示例:tree map of U.K government spending、line chart from remote data
更多信息:Tutorials on the Dataset website
4. Leaflet
这是一个用于创建交互式地图的 JS 库,轻量但不失强大,对移动端也非常友好。
特点:Leaflet 支持 tile 层、地图标记、弹出窗口、多边形区域以及用户交互,支持使用鼠标滚轮变焦,在移动设备上支持多点触控缩放。整个库仅有 28K。
缺点:Leaflet 作者表示“doesn't try to do everything for everyone”,这意味着功能可能会有些局限。
技能要求:专家
示例:election result map、2012 US Senate Election Results
更多信息:Leaflet 教程
5. Searchable Map Template with Google Fusion Tables
该库在谷歌 Fusion Tables 的基础上增加了一些搜索和过滤功能。
特点:Fusion Tables 是一个不错的、易于使用的数据可视化工具,你可以很容易地在 Web 应用中添加这些功能。
缺点:依赖谷歌的 Maps API
技能要求:进阶初学者
示例:Chicago Public School Locator、Free Bay Area Tax Preparation Locations
更多信息:Step-by-step instructions
6. Tabletop
该库可以帮助你从谷歌的在线电子表格中提取数据。
特点:谷歌的在线电子表格允许多人同时更新,通过在 Web 项目中嵌入 Tabletop,你只需点击一次,即可刷新数据。
缺点:依赖于谷歌的服务。
技能要求:进阶初学者
示例:WNYC's mayoral candidate tracker、Choose Your Own Adventure plug-in
更多信息:Tabletop 官网
其他相关库
除了上面介绍的 6 个库外,还有很多同类型的库,比如 Google Chart Tools、Highcharts 、JavaScript InfoVis Toolkit、Exhibit 等。感兴趣的开发者可以尝试一下。