Gramm is a data visualization toolbox for Matlab (The MathWorks Inc., Natick, USA) that allows to produce publication-quality plots from grouped data easily and flexibly. Matlab can be used for complex data analysis using a high-level interface: it supports mixed-type tabular data via tables, provides statistical functions that accept these tables as arguments, and allows users to adopt a split-apply-combine approach (Wickham 2011) with rowfun(). However, the standard plotting functionality in Matlab is mostly low- level, allowing to create axes in figure windows and draw geometric primitives (lines, points, patches) or simple statistical visualizations (histograms, boxplots) from numerical array data. Producing complex plots from grouped data thus requires iterating over the various groups in order to make successive statistical computations and low-level draw calls, all the while handling axis and color generation in order to visually separate data by groups. The corresponding code is often long, not easily reusable, and makes exploring alternative plot designs tedious (Example code Fig. 1A). Inspired by ggplot2 (Wickham 2009), the R implementation of “grammar of graphics” principles (Wilkinson 1999), gramm improves Matlab’s plotting functionality, allowing to generate complex figures using high-level object-oriented code (Example code Figure 1B). Gramm has been used in several publications in the field of neuroscience, from human psychophysics (Morel, Ulbrich, and Gail 2017), to electrophysiology (Morel et al. 2016; Ferrea et al. 2017), human functional imaging (Wan et al. 2017) and animal training (Berger et al. 2017). Gramm
CITATION STYLE
Morel, P. (2018). Gramm: grammar of graphics plotting in Matlab. The Journal of Open Source Software, 3(23), 568. https://doi.org/10.21105/joss.00568
Mendeley helps you to discover research relevant for your work.