Summary of what function does:
1) Automatically sets the number and range of the bins to be appropriate for the data.
2) Compares multiple sets of data elegantly on one or more plots, with legend or titles. It also graphs the mean and standard deviations. It can also plot the median and mode.
3) Outputs text with the useful statistics for each distribution.
4) Allows for changing many more parameters
Highlighted features (see below for details)
'boxplot' adds boxplots to the graphs
'separate' to plot each set on its own axis, but with the same bounds
'binfactor' change the number of bins used, larger value =more bins
'samebins' force all bins to be the same for all plots
'legend' add a legend in the graph (default for structs)
'noerror' remove the mean and std plot from the graph
'median' add the median of the data to the graph
'text' return many details about each graph even if not plotted
t = nhist(Y) bins the elements of Y into equally spaced containers
and returns a string with information about the distributions.
If Y is a cell array or a structure nhist will make graph the
binned (discrete) probability density function of each data
set for comparison on the same graph. It will return A cell
array or structure which includes a string for each set of
[t, N, X]= nhist(...) also returns the number of items in each bin, N,
and the locations of the left edges of each bin. If Y is a
cell array or structure then the output is in the same form.
nhist(Y,'PropertyName', . . . )
nhist(Y,'PropertyName',PropertyValue, . . . )
Cell array example:
nhist(A,'color',[.3 .8 .3],'separate','median','noerror')
Jonathan C. Lansey (2023). Plot and compare histograms; pretty by default (https://www.mathworks.com/matlabcentral/fileexchange/27388-plot-and-compare-histograms-pretty-by-default), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
Updated default bin parameter and implemented better handling of empty sets.
Officially added boxplot (box and whiskers plot) to the graphs
Fixed minor colormap issue for 'colorm' option.
Fixed the colors so that they look really great with the help of colorbrewer2.org. You also have the option to set your own colors now.
changed the name of the function to be more clear
I improved the aesthetic choice of axis bounds in cases when some of your plots have no data.
I have implemented robust handling of NaN and inf data points. Changed underscores in struct field names "_" to spaces in the titles and legends.
Expanded the function to allow data points which are infinite (in value, not in number!)
implemented ''npoints' for passing in structures.
Added an option to plot a smooth fit instead of the default stairs function (Rob' suggestion).
I forgot to include the linspecer function, sorry!