Hostname: page-component-77c89778f8-7drxs Total loading time: 0 Render date: 2024-07-20T01:38:45.548Z Has data issue: false hasContentIssue false

Composable data visualizations

Published online by Cambridge University Press:  17 June 2021

School of Computing, University of Kent, Canterbury CT2 7NZ, UK (e-mail:
Rights & Permissions [Opens in a new window]


Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

Let’s say we want to create the two charts in Figure 1. The chart on the left is a bar chart that shows two different values for each bar. The chart on the right consists of two line charts that share the x axis with parts of the timeline highlighted using two different colors.

Functional Pearl
Creative Commons
Creative Common License - CCCreative Common License - BY
This is an Open Access article, distributed under the terms of the Creative Commons Attribution licence (, which permits unrestricted re-use, distribution, and reproduction in any medium, provided the original work is properly cited.
© The Author(s), 2021. Published by Cambridge University Press


Aisch, G., Cox, A. & Quealy, K. (2015) You Draw it: How Family Income Predicts Children’s College Chances. New York Times. Accessed May 24, 2020. Available at: Scholar
Bostock, M., Ogievetsky, V. & Heer, J. (2011) D3 data-driven documents. IEEE Trans. Visualization Comput. Graphics 17(12), 23012309.CrossRefGoogle ScholarPubMed
Czaplicki, E. (2012) Elm: Concurrent FRP for Functional GUIs. Senior Thesis, Harvard University. Available at Scholar
Czaplicki, E. (2016) A Farewell to FRP: Making Signals Unnecessary with The Elm Architecture. Accessed May 24, 2020. Available at: Scholar
Dahlström, E., Dengler, P., Grasso, A., Lilley, C., McCormack, C., Schepers, D. & Watt, J. (2011) Scalable Vector Graphics (svg) 1.1, 2nd ed. W3C Recommendation. Accessed May 24, 2020. Available at: Scholar
Docker, T. (2020) Chart: A Library for Generating 2D Charts and Plots. Haskell Hackage. Accessed December 9, 2020. Available at: Scholar
Elliott, C. (2003) Functional images. In The Fun of Programming, Chapter 7, Gibbons, J. & de Moor, O. (eds). Palgrave.Google Scholar
Google. (2020) Google Charts: Interactive Charts for Browsers and Mobile Devices. Google. Accessed May 24, 2020. Available at: Scholar
Kennedy, A. (2009) Types for units-of-measure: Theory and practice. In Central European Functional Programming School. Springer, pp. 268305.Google Scholar
Krzywinski, M., Schein, J., Birol, I., Connors, J., Gascoyne, R., Horsman, D., Jones, S. J. & Marra, M. A. (2009) Circos: An information aesthetic for comparative genomics. Genome Res. 19(9), 16391645.CrossRefGoogle ScholarPubMed
Satyanarayan, A., Moritz, D., Wongsuphasawat, K. & Heer, J. (2016) Vega-lite: A grammar of interactive graphics. IEEE Trans. Visualization Comput. Graphics 23(1), 341350.CrossRefGoogle Scholar
Satyanarayan, A., Russell, R., Hoffswell, J. & Heer, J. (2015) Reactive Vega: A streaming dataflow architecture for declarative interactive visualization. IEEE Trans. Visualization Comput. Graph. 22(1), 659668.CrossRefGoogle ScholarPubMed
Stolte, C., Tang, D. & Hanrahan, P. (2002) Polaris: A system for query, analysis, and visualization of multidimensional relational databases. IEEE Trans. Visualization Comput. Graphics 8(1), 5265.CrossRefGoogle Scholar
Waskom, M., Botvinnik, O., Hobson, P., Warmenhoven, J., Cole, J. B., Halchenko, Y., Vanderplas, J., Hoyer, S., Villalba, S. & Quintero, E. (2014) Seaborn: Statistical Data Visualization. Accessed May 24, 2020. Available at: Scholar
Wickham, H. (2010) A layered grammar of graphics. J. Comput. Graphical Stat. 19(1), 328.CrossRefGoogle Scholar
Wickham, H. (2016). ggplot2: Elegant Graphics for Data Analysis. Springer.CrossRefGoogle Scholar
Wilkinson, L. (1999) The Grammar of Graphics. New York: Springer-Verlag.CrossRefGoogle Scholar
Yorgey, B. A. (2012) Monoids: Theme and variations (functional pearl). In Proceedings of the 5th ACM SIGPLAN Symposium on Haskell, Haskell 2012, Copenhagen, Denmark, 13 September 2012, Voigtländer, J. (ed). ACM, pp. 105–116.CrossRefGoogle Scholar

Petricek supplementary material

Petricek supplementary material

Download Petricek supplementary material(Audio)
Audio 26 MB
Submit a response


No Discussions have been published for this article.