Create Healthy Looking Error Bars

Plots nice error bars as the default. Can also top group plots with error bars.
6.5K Downloads
Updated 20 Oct 2011

View License

% Description errorb(x,y,varargin)
errorb(Y,E) plots Y and draws an error bar at each element of Y. The error bar is a distance of E(i) above and below the curve so that each bar is symmetric and 2*E(i) long. If Y and E are a matrices, errob groups the bars produced by the elements
in each row and plots the error bars in their appropriate place above the bars.

errorb(X,Y,E) plots Y versus X with symmetric error bars 2*E(i) long. X, Y, E must be the same size. When they are vectors, each error bar is a distance of E(i) above and below the point defined by (X(i),Y(i)).

errorb(X,Y,'Parameter','Value',...) see below

% Optional Parameters
horizontal: will plot the error bars horizontally rather than vertically
top: plot only the top half of the error bars (or right half for horizontal)
barwidth: the width of the little hats on the bars (default scales with the data!) barwidth is a scale factor not an absolute value.
linewidth: the width of the lines the bars are made of (default is 2)
points: will plot the points as well, in the same colors.
color: specify a particular color for all the bars to be (default is black, this can be anything like 'blue' or [.5 .5 .5])
multicolor: will plot all the bars a different color (thanks to my linespecer function)
colormap: in the case that multicolor is specified, one
may also specify a particular colormap to
choose the colors from.
% Examples
y=rand(1,5)+1; e=rand(1,5)/4;
hold off; bar(y,'facecolor',[.8 .8 .8]); hold on;
errorb(y,e);

defining x and y
x=linspace(0,2*pi,8); y=sin(x); e=rand(1,8)/4;
hold off; plot(x,y,'k','linewidth',2); hold on;
errorb(x,y,e)

group plot:
values=abs(rand(2,3))+1; errors=rand(2,3)/1.5+0;
errorb(values,errors,'top');

% motivation for the function
It is possible to plot nice error bars on top of a bar plot with Matlab's built in error bar function by setting tons of different parameters to be various things.
This function plots what I would consider to be nice error bars as the default, with no modifications necessary.
It also plots, only the error bars, and in black. There are some very useful abilities that this function has over the matlab one.

Cite As

Jonathan C. Lansey (2024). Create Healthy Looking Error Bars (https://www.mathworks.com/matlabcentral/fileexchange/27387-create-healthy-looking-error-bars), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2009a
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!
Version Published Release Notes
1.3.0.0

I implemented the suggestions of the most eminent Math Moose.

1.2.0.0

Changed the screenshot

1.1.0.0

The linspecer function is now included.

1.0.0.0