Plotyy and error bars

36 views (last 30 days)
I'd like to do a plotyy function, and I have confidence intervals for each point of my data. I can't seem to figure out a way to do both of these at once. My x data is stored in an array RC, and the two y data are in arrays L and D. The confidence intervals are in ciL and ciD, and are not necessarily symmetric. Is there an easy way to add these as error bars to my plot?
Clement Wong
Clement Wong on 3 Aug 2011
The code looks something like this:
x = 1;
for rc = 1000:1000:10000
[beta,r,j,covb,mse] = nlfin(parameters including rc);
ci = nlparci(beta,r,'covar',covb);
L(x) = beta(2);
D(x) = beta(3);
ciL(x,:) = ci(2,:);
ciD(x,:) = ci(3,:);
x = x+1;
L,D,ciL,ciD are all preallocated for speed. But the idea is that now, I have the confidence intervals for all 10 data points as I sweep rc. RC goes from 1,000 to 10,000 in 1,000 step size. I'm plotting the values for L and D against RC using plotyy(RC,L,RC,D,semilogx).
ciL and ciD contain the confidence intervals for each point, in order. That is, if L(1) is 5, then ciL(1) could be something like [3 8]. I hope this makes sense.

Sign in to comment.

Accepted Answer

Patrick Kalita
Patrick Kalita on 3 Aug 2011
When customizing graphs made with plotyy, it is usually useful to store axes handles that it provides as its return value. With those axes handles you can (1) turn hold mode on for each one and (2) add errorbars to each.
Here's an example:
% Make up some data to plot
x = 1:5;
y1 = rand(1,5);
y2 = rand(1,5) + 100;
L1 = 0.01 * ones(1,5);
U1 = 0.02 * ones(1,5);
L2 = 0.03 * ones(1,5);
U2 = 0.04 * ones(1,5);
% Store the axes handles produced by PLOTYY
ax = plotyy(x, y1, x, y2);
% Use HOLD and ERRORBAR, passing axes handles to the functions.
hold(ax(1), 'on');
errorbar(ax(1), x, y1, L1, U1);
hold(ax(2), 'on');
errorbar(ax(2), x, y2, L2, U2);
Patrick Kalita
Patrick Kalita on 8 Aug 2011
No, that's not the way ERRORBAR wants its lower and upper bounds. I guess you'll have to convert.

Sign in to comment.

More Answers (0)


Community Treasure Hunt

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

Start Hunting!

Translated by