BARPATCH | Highly customizable bar graph w/error bars

Version (7.72 KB) by Bob Spunt
Create and customize a bar graph with error bars. Supports grouped data.
Updated 31 Oct 2016

This function will create a grouped bar graph with error bars without using the standard plotting functions BAR and ERRORBAR. It uses PATCH to create the bars and LINE to construct the error bars.
USAGE: h = barpatch(data, varargin)


h: handles to all graphics objects


data: data matrix to plot; rows are cases, columns are variables
varargin: optional arguments entered as "name,value" pairs (to see default values, run barpatch without arguments). partial matches OK:

figh - handle for figure to plot in
groupidx - rows index columns of "data" to plot as a group
groupname - labels for different groups of bars
grouptick - flag to place tickmark between groups on x-axis
barname - labels for different bars within groups (in legend)
barcmap - colormap for distinguishing bars within a group
barwidth - width of bars (>1 produces overlapping bars)
errlinewidth- width of error bar lines
t - figure title
xl - x-axis label
yl - y-axis label
fontsize - base font size
fontname - name of font to use
ytickformat - display formatting for yticklabels (e.g., '%.2f')
yticklength - # of yticks (if empty, determined automatically)


data = randn(10, 8);
groupidx = [1 2; 3 4; 5 6; 7 8];
groupn = {'Group A' 'Group B' 'Group C' 'Group D'};
xl = 'X-Axis Label';
yl = 'Y-Axis Label';
t = 'The Figure Title';
h = barpatch(data, 'groupidx', groupidx, 'groupname', groupn, 'xl', xl, 'yl', yl, 't', t);

Cite As

Bob Spunt (2024). BARPATCH | Highly customizable bar graph w/error bars (, GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2015b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes

Added optional arguments for specifying width of bars and the lines comprising error bars; updated doc and input checking
Updated documentation.

Improved input checking; added optional argument for custom colormap

Moved to GitHub. Fixes to label positioning.

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.