Problem plotting with bar() instead of hist()

1 view (last 30 days)
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);
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;
binneddata = ans / length(data)
[y2,x2] = ecdf(data);
[y1,x1] = bar(binneddata);
John on 22 Jan 2013
Edited: 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)


Find more on Data Distribution Plots in Help Center and File Exchange


Community Treasure Hunt

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

Start Hunting!