MATLAB: Plot multiple histograms with different data in same range

different binshistogrammultiple plotssame rang

Hi all,
I am trying to plot a histogram which I have three different sets of data in the same range. However, I attatched both code and excel file of the data. I want to plot all three sets having 5 bins and width must be 4. Showing each set with different color.
Thanks,

Best Answer

Taking a stab at this anyway. You cannot group data in histograms. For that, you'll need to use a bar plot. Use histcounts to get the data you need to create the histograms using bar.
Here's a first approach. Note that readtable uses the column headers to create variable names. The warning is because some of these header names are not valid variable names. You can follow the suggestion(s) in the warning or ignore it.
annularrimx = readtable('all_droplets.xlsx');
Warning: Column headers from the file were modified to make them valid MATLAB identifiers before creating variable names for the table. The original column headers are saved in the VariableDescriptions property.
Set 'VariableNamingRule' to 'preserve' to use the original column headers as table variable names.
edges = 0:4:20;
[N,edges] = histcounts(annularrimx.sept_18V1_2,edges);
[N1,edges] = histcounts(annularrimx.oct_2V1,edges);
[N2,edges] = histcounts(annularrimx.sept_30V1,edges);
bar([N;N1;N2]')
xlabel('Diameter of droplet');
ylabel('number of droplet');
xticklabels(string(edges(1:end-1)) + "-" +string(edges(2:end)))
legend(annularrimx.Properties.VariableNames([8 6 4]),'Interpreter',"none")