Cicero:响应式可视化的声明式语法 (Cicero: A Declarative Grammar for Responsive Visualization)

设计响应式可视化可以看作是对源可视化进行转换以使其适合不同的屏幕尺寸,然而,这一过程往往是繁琐的。论文的作者提出了声明式语法Cicero,用于简明地指定响应式可视化的转换,为更智能的响应式可视化创作工具铺平道路。

图1. 使用Cicero复现的13个响应式可视化的例子。

响应式可视化针对不同的屏幕类型调整可视化内容,由于使用智能手机观看内容的用户比例越来越大,使得它们在大多数环境中是必不可少的。然而,响应式的可视化创作往往需要可视化设计者做大量的手动工作。创作者通常从一个源视图开始,然后应用转换来产生一组针对不同屏幕类型优化的视图。然而,这种方法可能很乏味,因为作者必须逐一手动探索、应用和评估不同的响应式策略。像这样的创作痛点表明需要更多的智能创作工具,自动实现响应式可视化的转换。

实现这种智能响应的可视化创作工具的关键一步是一个简洁的、声明性的语法,它可以表达多样化的转换策略。虽然像Vega和Vega-Lite这样的声明式可视化语法很适合开发更复杂的可视化创作工具,但它们不一定适合表示可视化转换。Vega-Lite要求作者为每个响应式视图创建单独的规范,在整个规范中交织复杂的布局变化,而响应式变换的声明式语法可以以更简单的方式表达相同的策略,这样的方法可以帮助可视化作者轻松快速地编写响应式设计规范,并且可以帮助开发者更有效地开发响应式可视化的创作工具。

对此,作者提出了Cicero:一个灵活的、有表现力的、可重用的声明式语法,用于指定响应式可视化转换。Cicero灵活的指定语法让使用者能够用可视化中不同元素的角色(例如:标记、标题、轴)选择想要他们修改的对象,如图2(b)所示。此外Cicero也支持用户使用可视化对应的数据和可视化元素的属性来进行选择。

图2. Cicero语法的示例

Cicero提供一套紧凑的动作(action),包括添加、复制、移除、替换、交换、修改、重新定位和转置,可以编码各种不同的转换方式。语法中的option对象进一步详细说明了动作所指示的变化。此外。Cicero支持在多个响应式规范中提取和重复使用可通用的转换策略。

Cicero的灵活的语法允许作者选择要转换的可视化元素,且与源可视化的结构无关。Cicero在桌面端优先和移动端优先的设计过程中编码了一系列不同的转换动作。创作者可以在不同的可视化中重复使用Cicero定义的转换。 为了证明Cicero的实用性,论文作者开发了一个基于Vega-Lite扩展版本的Cicero编译器,用于将Cicero语法运用到实际可视化中。作者还进一步讨论了如何将Cicero纳入响应式可视化创作工具,比如与推荐器结合。

【参考文献】
[1] Hyeok Kim, Ryan Rossi, Fan Du, Eunyee Koh, Shunan Guo, Jessica Hullman, Jane Hoffswell. “ Cicero: A Declarative Grammar for Responsive Visualization” In Proceedings of the ACM Conference on Human Factors in Computing Systems (CHI 2022), to appear.

评论关闭。