Violin Plots for plotting multiple distributions (distributionPlot.m​)

Function for plotting multiple histograms side-by-side in 2D - better than boxplot.

Download
Download

You are now following this Submission

Editor's Note: This file was selected as MATLAB Central Pick of the Week

Cite As

Jonas (2026). Violin Plots for plotting multiple distributions (distributionPlot.m) (https://se.mathworks.com/matlabcentral/fileexchange/23661-violin-plots-for-plotting-multiple-distributions-distributionplot-m), MATLAB Central File Exchange. Retrieved .

Acknowledgements

Inspired by: plot spread points (beeswarm plot)

Inspired: Violin Plot, gQSPSim

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.15.0

renamed histogram to myHistogram to avoid clash with new Matlab function of the same name, added support for boxplot overlays

Download
1.14.0

Improved documentation (more examples, link to plotSpread), added quantiles (thanks to Warwick for suggestion & testing). Also, belated thanks to Kelly for suggesting horizontal orientation.

Download
1.13.0

Added the following new features:
- Horizontal plotting
- Plotting of half distributions
- Bugfixes

Additionally, plotSpread is now a separate submission.

Download
1.12.0

Added option to align the bars at the left or the right (option "histOri"), as suggested by Yuri. Also, bugfix.

Download
1.9.0

Improved normalization options. Thanks to Jake for the suggestion.

Download
1.7.0

Fixed a bug in the code, and two mistakes in the example.

Download
1.6.0

Made colorbar more meaningful if there is only one colormap and the bins are normalized globally (i.e. globalNorm is set to 1). Thanks to Brian Katz for the suggestion.

Download
1.4.0

Changed input from optional arguments to parameterName/parameterValue pairs (note that the old syntax still works!).
Added several new features, such as support for grouped variables, overlay of data points, and user-defined colormaps.

Download
1.3.0

Updated title to Violin Plot, because that's how (part) of these plots are called elsewhere.

Download
1.2.0

Documented previously undocumented functionality, chose better screenshot to demonstrate how distributionPlot is better for comparing distributions than boxplot

Download
1.1.0

Fixed cryptic error if the data was all NaNs (thanks Christopher for pointing it out!).
distributionPlot now also automatically converts arrays in cells to vectors and throws a warning.

Download
1.0.0

Download