Premium
Canis: A High‐Level Language for Data‐Driven Chart Animations
Author(s) -
Ge T.,
Zhao Y.,
Lee B.,
Ren D.,
Chen B.,
Wang Y.
Publication year - 2020
Publication title -
computer graphics forum
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.578
H-Index - 120
eISSN - 1467-8659
pISSN - 0167-7055
DOI - 10.1111/cgf.14005
Subject(s) - computer science , json , programming language , compiler , animation , chart , scalable vector graphics , computer graphics (images) , world wide web , statistics , mathematics
In this paper, we introduce Canis, a high‐level domain‐specific language that enables declarative specifications of data‐driven chart animations. By leveraging data‐enriched SVG charts, its grammar of animations can be applied to the charts created by existing chart construction tools. With Canis, designers can select marks from the charts, partition the selected marks into mark units based on data attributes, and apply animation effects to the mark units, with the control of when the effects start. The Canis compiler automatically synthesizes the Lottie animation JSON files [Aira], which can be rendered natively across multiple platforms. To demonstrate Canis’ expressiveness, we present a wide range of chart animations. We also evaluate its scalability by showing the effectiveness of our compiler in reducing the output specification size and comparing its performance on different platforms against D3.