How to plot a normalised cumulative histogram

Illustration
Riti Patel - 2022-06-11T13:01:22+00:00
Question: How to plot a normalised cumulative histogram

I've got a vector of data of length around 5000000. I'm trying to plot a cumulative histogram of this data. I've previously plotted a normalised histogram using the trapz command: [f,z]=hist(CharPoly,1000000); bar(z,f/trapz(z,f)) where CharPoly is the data vector. That worked fine but I'm now looking to plot a cumulative histogram from this data and I can't figure out how to incorporate either cumsum or cumtrapz into this.

Expert Answer

Profile picture of Kshitij Singh Kshitij Singh answered . 2025-11-20

If using 2014b or higher you can use the histogram command:

 

histogram(CharPoly,'Normalization','cdf')

If prior to 2014b use hist and bar:

[f,z]=hist(CharPoly,1000000);
% Make pdf by normalizing counts
% Divide by the total counts and the bin width to make area under curve 1.
fNorm = f/(sum(f)*(z(2)-z(1))); 
% cdf is no cumulative sum
fCDF = cumsum(fNorm);
bar(z,fCDF) % display

This is done .


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!