diff --git a/.gitignore b/.gitignore index 19d81b0..9d75a4e 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ gramm cheat sheet.numbers .DS_Store paper/figure.ai *.asv +*.mltbx \ No newline at end of file diff --git a/README.md b/README.md index 0421514..3332bc2 100644 --- a/README.md +++ b/README.md @@ -21,24 +21,14 @@ Gramm is a data visualization toolbox for Matlab that allows to produce publicat Inspired by ggplot2 ([Wickham 2009](http://ggplot2.org)), the R implementation of "grammar of graphics" principles ([Wilkinson 1999](http://www.springer.com/de/book/9781475731002)), gramm improves Matlab's plotting functionality, allowing to generate complex figures using high-level object-oriented code. Gramm has been used in several publications in the field of neuroscience, from human psychophysics ([Morel et al. 2017](https://doi.org/10.1371/journal.pbio.2001323)), to electrophysiology ([Morel et al. 2016](https://doi.org/10.1088/1741-2560/13/1/016002); [Ferrea et al. 2017](https://doi.org/10.1152/jn.00504.2017)), human functional imaging ([Wan et al. 2017](https://doi.org/10.1002/hbm.23932)) and animal training ([Berger et al. 2017](https://doi.org/10.1152/jn.00614.2017)). -## Citing gramm ## - -Gramm has been published in the Journal of Open Source Software. If you use gramm plots in a publication you can thus cite it using the following: - -[![DOI](http://joss.theoj.org/papers/10.21105/joss.00568/status.svg)](https://doi.org/10.21105/joss.00568) - -Morel, (2018). Gramm: grammar of graphics plotting in Matlab. Journal of Open Source Software, 3(23), 568, https://doi.org/10.21105/joss.00568 ## About gramm ## -### Compatibility ### - - -Tested under Matlab 2014b+ versions. With pre-2014b versions, gramm forces 'painters', renderer to avoid some graphic bugs, which deactivates transparencies (use non-transparent geoms, for example stat_summary('geom','lines')). The statistics toolbox is required for some methods: stat_glm(), some stat_summary() methods, stat_density(). The curve fitting toolbox is required for stat_fit(). - ### Installation ### -Download the gramm toolbox from GitHub ("Clone or download" button>download ZIP) or [clone it](https://help.github.com/articles/cloning-a-repository/), and add the folder containing the @gramm class folder to your Matlab path (using the [GUI](https://mathworks.com/help/matlab/matlab_env/add-remove-or-reorder-folders-on-the-search-path.html) or [```addpath()```](https://mathworks.com/help/matlab/ref/addpath.html)) +- Automatically within Matlab : Open the Add-ons explorer, search for "gramm" and click Add ! +- Or by townloading the toolbox package : download the latest .mltbx file from the [GitHub Releases](https://github.com/piermorel/gramm/releases) and double-click the downloaded file to install. +- Or manually : download the gramm toolbox from the [Matlab File exchange](https://mathworks.com/matlabcentral/fileexchange/54465-gramm-data-visualization-toolbox) or GitHub ("Clone or download" button>download ZIP) or [clone it](https://help.github.com/articles/cloning-a-repository/), and add the folder containing the @gramm class folder to your Matlab path (using the [GUI](https://mathworks.com/help/matlab/matlab_env/add-remove-or-reorder-folders-on-the-search-path.html) or [```addpath()```](https://mathworks.com/help/matlab/ref/addpath.html)) ### Documentation ### @@ -46,6 +36,17 @@ Download the gramm toolbox from GitHub ("Clone or download" button>download ZIP) - Numerous coding examples and test cases in ```examples.m```, exported for preview in [html/examples.html](http://htmlpreview.github.io/?https://github.com/piermorel/gramm/blob/master/html/examples.html) - From MATLAB: doc gramm to find links to the documentation of each method. +## Citing gramm ## + +Gramm has been published in the Journal of Open Source Software. If you use gramm plots in a publication you can thus cite it using the following: + +[![DOI](http://joss.theoj.org/papers/10.21105/joss.00568/status.svg)](https://doi.org/10.21105/joss.00568) + +Morel, (2018). Gramm: grammar of graphics plotting in Matlab. Journal of Open Source Software, 3(23), 568, https://doi.org/10.21105/joss.00568 + +### Compatibility ### + +Tested under Matlab 2014b+ versions. With pre-2014b versions, gramm forces 'painters', renderer to avoid some graphic bugs, which deactivates transparencies (use non-transparent geoms, for example stat_summary('geom','lines')). The statistics toolbox is required for some methods: stat_glm(), some stat_summary() methods, stat_density(). The curve fitting toolbox is required for stat_fit(). ## Using gramm ## @@ -99,11 +100,12 @@ To export figures in a vector-based format, use the SVG or PDF option rather tha - Multiple ways of directly plotting the data: - scatter plots (geom_point()) and jittered scatter plot (geom_jitter()) - lines (geom_line()) - - confidence intervals (geom_interval()) + - pre-computed confidence intervals (geom_interval()) - bars plots (geom_bar()) - raster plots (geom_raster()) - labels (geom_label()) - - point counts (point_count()) + - point counts (geom_count()) + - swarm / beeswarm plots (geom_swarm()) - Multiple ways of plotting statistics on the data: @@ -118,7 +120,7 @@ To export figures in a vector-based format, use the SVG or PDF option rather tha - Custom fits with user-provided anonymous function (stat_fit()) - Ellipses of confidence (stat_ellipse()) -- When Z data is provided in the call to gramm(), geom_point() and geom_line() generate 3D plots +- When Z data is provided in the call to gramm(), geom_point(), geom_line() and geom_label() generate 3D plots - Subplots are created without too much empty space in between (and resize properly !) - Polar coordinates (set_polar()) - Color data can also be displayed as a continous variable, not as a grouping factor (set_continuous_color()) @@ -190,7 +192,7 @@ Using stat_bin() it is possible to construct peristimulus time hist ### Custom layouts ### -Custom layouts +Custom layouts ### Text labels with geom_label() ### @@ -199,23 +201,23 @@ Using stat_bin() it is possible to construct peristimulus time hist ### Colormap customization ### With set_color_options() -Colormaps example +Colormaps example ### Continuous colors -Continuous colors +Continuous colors ### Reordering of categorical variables With set_order_options() -Reordering +Reordering ### Superimposition of gramm objects on the same axes By making calling the update() method after a first draw, the same axes can be reused for another gramm plot. Here this allows to plot the whole dataset in the background of each facet. -gramm superimposition +gramm superimposition ## Acknowledgements gramm was inspired and/or used code from: diff --git a/demos.xml b/demos.xml index 3395cea..fd2f667 100644 --- a/demos.xml +++ b/demos.xml @@ -6,7 +6,7 @@ Gramm is a powerful plotting toolbox which allows to quickly create complex, publication-quality figures in Matlab, and is inspired by R's ggplot2 library. As a reference to this inspiration, gramm stands for GRAMmar of graphics for Matlab. - + other diff --git a/gramm_2.27.mltbx b/gramm_2.27.mltbx deleted file mode 100644 index 70f5312..0000000 Binary files a/gramm_2.27.mltbx and /dev/null differ