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.
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 .