Problem plotting with bar() instead of hist()

3 views (last 30 days)
John
John on 21 Jan 2013
Hi,
I use this code to overlay a CDf plot on a histogram. Note the histogram data in binned according to bin centers.
bin = 110:10:220;
[y2,x2] = ecdf(y);
[y1,x1] = hist(y,bin);
plotyy(x1,y1,x2,y2,@(x,y)bar(x,y,1,'c'),'stairs')
However, I need to bin the data using bin edges instead. I have tried using the histc function but cannot get the plot to display. You have to use the bar function in order to plot the histc data, but the bar function can only have 1 output argument. Could anybody help me out with the correct syntax for the plotyy fucntion now that I'm using the bar() instead of hist()?
Thank you
bin = 110:10:250;
histc(data,bin);
binneddata = ans / length(data)
[y2,x2] = ecdf(data);
[y1,x1] = bar(binneddata);
plotyy(x1,y1,x2,y2,@(x,y)bar(x,y,1,'c'),'stairs')
  3 Comments
John
John on 22 Jan 2013
Hello Walter,
If you have minute would be in a position to advise me on the correct syntax for the plot function above?
Thank you

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 22 Jan 2013
bin = 110:10:250;
binneddata = histc(data,bin) ./ length(data);
[y2,x2] = ecdf(data);
plotyy(bin, binneddata, x2, y2, @(x,y)bar(x,y,1,'c'), 'stairs')

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!