Open Access
May 2014 Reactive Programming for Interactive Graphics
Yihui Xie, Heike Hofmann, Xiaoyue Cheng
Statist. Sci. 29(2): 201-213 (May 2014). DOI: 10.1214/14-STS477


One of the big challenges of developing interactive statistical applications is the management of the data pipeline, which controls transformations from data to plot. The user’s interactions needs to be propagated through these modules and reflected in the output representation at a fast pace. Each individual module may be easy to develop and manage, but the dependency structure can be quite challenging. The MVC (Model/View/Controller) pattern is an attempt to solve the problem by separating the user’s interaction from the representation of the data. In this paper we discuss the paradigm of reactive programming in the framework of the MVC architecture and show its applicability to interactive graphics. Under this paradigm, developers benefit from the separation of user interaction from the graphical representation, which makes it easier for users and developers to extend interactive applications. We show the central role of reactive data objects in an interactive graphics system, implemented as the R package cranvas, which is freely available on GitHub and the main developers include the authors of this paper.


Download Citation

Yihui Xie. Heike Hofmann. Xiaoyue Cheng. "Reactive Programming for Interactive Graphics." Statist. Sci. 29 (2) 201 - 213, May 2014.


Published: May 2014
First available in Project Euclid: 18 August 2014

zbMATH: 1332.62010
MathSciNet: MR3264532
Digital Object Identifier: 10.1214/14-STS477

Keywords: interactive graphics , R language , Reactive programming

Rights: Copyright © 2014 Institute of Mathematical Statistics

Vol.29 • No. 2 • May 2014
Back to Top