Updated 13 Nov 2018
Lines and asterisks indicating significant differences between two groups on a plot are commonly used in the life and social sciences. To my knowledge, no MATLAB function for adding these is openly available. sigstar makes it easy to add lines and significance asterisks joining one or more pairs of groups on bar charts, box plots, and even line plots. The user simply supplies the identities of the two groups and the p-value (which the user has calculated using an appropriate test).
Group identity is defined as x-axis locations or, optionally, group names (if the x-axis labels are strings). sigstar converts the supplied p-values to the appropriate number of asterisks and plots these over the lines that link the pair of groups. sigstar attempts to intelligently place lines and asterisks so that they do not overlie existing plot elements. By default, bars with longer horizontal extents are plotted above shorter bars. This is the convention and it looks neater. The user has control over the order in which significance bars are added. Modifying the order provides control over the vertical position of the bars. This is important for obtaining a neat result in a cluttered plot.
See examples in "help sigstar" for details. The handles of the added plot elements are returned by default, providing the user with fine control of the plot's appearance. This is important since it's difficult to provision for all possible usage scenarios (see demo_sigstar). The function should produce publication quality results, but you may need to play with the figure size and asterisk font size.
** NOTE: If you have questions or want support, you will get an answer faster if you create an Issue on GitHub: https://github.com/raacampbell/sigstar **
Rob Campbell (2023). raacampbell/sigstar (https://github.com/raacampbell/sigstar), GitHub. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
- MATLAB > Graphics > 2-D and 3-D Plots > Data Distribution Plots > Bar Plots >
- AI, Data Science, and Statistics > Statistics and Machine Learning Toolbox > Descriptive Statistics and Visualization > Statistical Visualization > Box Plots >
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Versions that use the GitHub default branch cannot be downloaded
update description that was stripped when moving to GitHub.
Fix for >R2014b. Now box plots and line plots work with new versions of MATLAB. Code is neater. A few other small improvements. Add demo code. Move to GitHub.
Bar plot code updated to run on 2014b. Boxplots *don't* work (yet) on 2014b. Sorry for the slow updates, but I personally don't use 2014b because the new graphics engine is clearly not ready yet.
Update code to no longer call the range function, which is part of the stats toolbox.
Update to work with grouped error bars.
Add the ability to label data as being not significantly different. Example 2 in the function's help text shows how to do this.