VizJSON 是一种标记语言,用于向渲染引擎描述图表,以便引擎能够解释相关的数据,并在图表中显示它。它在概念上类似于 HTML,HTML 是浏览器可以解释的一种常见标记语言,用于显示 Web 页面。您可以这样想:VizJSON 之于可视化渲染器,正如 HTML 之于浏览器。本文将介绍使用开放语言(如 VizJSON)描述可视化的优势。这种语言可以作为新的开源软件的基础,该软件将生成 VizJSON 并使用它作为可视化的描述语言 。
VizJSON 是基于语言的可视化数据模型规范,它以 The Grammar of Graphics (参阅参考资料)为基础,并使用 JavaScript Object Notation (JSON) 进行表示。 The Grammar of Graphics 描述了连接数据和图形的规则。本书背后的理念已经影响了一些统计软件,比如 R 和 SPSS。(请参阅参考资料,了解关于 R 和 SPSS 的更多信息)。
VizJSON 将图表定义为可以混合匹配,然后将这种定义应用到数据集的一组特性,帮助传达关于数据的一些特定信息。例如,在美国病人就诊牙医的频率数据集。VizJSON 可以用来强调一个事实:在美国的东海岸,就诊牙医的频率正在随着时间的推移而增加。
使用 VizJSON,可以预定义特定图表的特性,为特定类型的数据创建传递特定消息的模板。由此产生的模板可显示一个柱状图、饼状图、字图或其他格式,它可以成为展示组织内或跨组织的特定类型数据的统一方式。模板可以被重用,它为查看、解释和分析数据提供了一致的方法。
VizJSON 方法可以很方便地提供交互功能,让用户能够利用现有的数据集,使用不同的方式渲染它们,讲述不同的故事,或读取不同的数据集,用相同的方式渲染它们,从而轻松地分析它们之间的差异。因为 VizJSON 是用 JSON 表达的,所以可以轻松地将它集成到 HTML、演示文稿或其他格式中。甚至可以通过社交媒体在 Web 上共享它。
回页首
VizJSON 是一个基于语言的图表规范。以不同的方式定义多种图表:
VizJSON 提供了正交的特性集,描述了所有常见的图表、几乎所有不常见的图表,以及最前沿的研究图表。
图 1 说明,使用图形语法的方法,用户只需修改一行规范,就可以轻松地改变数据的可视化方式。这一行的修改导致采用专用饼图而不是条形图来显示数据。利用这项功能,工具提供商现在可以用一个非常简单的方法来编写修改规范的工具,让用户能够轻松采用多种格式查看其数据,帮助读者理解这些数据试图传达什么样的信息。
图 1. 简单地修改规范,将条形图转换成饼图
回页首
数据和数据可视化的一个主要问题是,有许多方法都可以用来表示数据。多样性会带来问题,因为在公司之间,甚至在同一公司的不同部门之间共享数据时,数据都可能以不同的方式进行渲染,或者可能完全无法渲染,因为可视化引擎无法理解这些输入。
VizJSON 提供了一个用来表达可视化的声明性方法(与 HTML 提供的用来表达 Web 页面的声明性方法大致相同),从而解决这些问题。通过标准化使用 VizJSON 图形语法(序列化为 JSON 表示法)来表示可视化的方式,VizJSON 提供一个表示可视化的一致方法,可以在基于 JSON 的 Web API、普通的 HTML,以及各种基于 JSON 的软件中使用它。
甚至可以在日益流行的 JSON 数据库中存储和查询 JSON 模板和完全可视化(完全可视化包括模板和数据)。许多好处源于标准的可视化表示法。随着时间的推移,用户可以使用支持库和流行的模板,并实现更多不同可视化的构建块,使构建可视化软件的成本越来越低。通过一致的 VizJSON 图形语法集,可以更容易地支持多个客户端目标和渲染引擎。此外,在社交媒体中更容易使用可视化,因为 VizJSON 表示可以在 Facebook 和其他社交媒体上共享数据。
通过采用一套标准的 VizJSON 模板,监管机构和政府可以更容易地提供关于应该如何展示数据的指导,从而更轻松地比较数据。此外,通过在模板中使用 VizJSON 元数据,渲染引擎可以确保通过实现 Web Accessibility Initiative Accessible Rich Internet Applications Suite (WAI-ARIA)(参阅参考资料)可以访问可视化。
回页首
VizJSON 让用户能够声明自己希望如何显示数据来传达特定的故事,或采用让信息更容易被理解的方式显示数据。VizJSON 提供一个表达可视化的常用方法,该方法与 HTML 为表达一个 Web 页面所提供的常用方法大致相同。一旦表达可视化的常用方法被采用,我们就可以有多种创建或显示规范的方式。
图 2. 表达可视化的声明方式
VizJSON 支持几种格式:
canvas
标记 — 识别可绘制的区域的一个 HTML5 标记。Dojo 小部件可以使用 canvas
标记来显示图表,包括 VizJSON。 图 3. VizJSON 与现有格式和标准的比较
Rapidly Adaptive Visualization Engine (RAVE) 是一个懂得如何渲染 VizJSON 规范的底层技术。下面的开源产品和技术提供了与使用 VizJSON 和 RAVE 类似的功能:
— Google 全资拥有的 JavaScript 库。目前的版本已将重点完全放在 Web 上。因此,用 Google Charts JavaScript API 创建的图表目前只能通过浏览器提供。
用户将要创建的图表数据可以嵌入到文档本身中,这些数据也可以来自外部源,如 Google Spreadsheets 和 Google Fusion Tables。用户还可以利用 Chart Tools Datasource 协议,但这种方法具有局限性,因为数据源必须实现 Chart Tools Datasource 协议。Google Charts 支持的图表类型的数量目前只有 14 种。这些图表可被视为模板,并且用户可以自定义图表的类型,修改颜色和字体、线条宽度,以及其他视觉效果。不过,用户仍然仅限于使用所提供的基本图表。
回页首
许多 IBM 产品和技术都使用了 VizJSON:
回页首
VizJSON 通过定义一组可应用于数据集的特性,提供一个 JSON 符号来表示可视化。跨不同环境标准化 VizJSON 并使用已经商定好的符号,这可以提供许多好处:
回页首
作者衷心感谢 Sukumar Beri 为本文提供的帮助。