[ACCEPTED]-side by side multiply histogram in matlab-histogram

Accepted answer
Score: 15

You can use bar(...) or hist(...) to get 7 the results you want. Consider the following 6 code with results shown below:

% Make some play data:
x = randn(100,3);
[y, b] = hist(x);

% You can plot on your own bar chart:
bar(b,y, 'grouped');
title('Grouped bar chart');

% Bust histogram will work here:
title('Histogram Automatically Grouping');

% Consider stack for the other type:
title('Stacked bar chart');

Group Bar Result Histogram Results Stacked Bar Result

If your 5 data is different sizes and you want to 4 do histograms you could choose bins yourself 3 to force hist(...) results to be the same 2 size then plot the results stacked up in 1 a matrix, as in:

data1 = randn(100,1);       % data of one size
data2 = randn(25, 1);       % data of another size!

myBins = linspace(-3,3,10); % pick my own bin locations

% Hists will be the same size because we set the bin locations:
y1 = hist(data1, myBins);   
y2 = hist(data2, myBins);

% plot the results:
bar(myBins, [y1;y2]');
title('Mixed size result');

With the following results:

enter image description here

Score: 1

Doesn't hist already do the first one?

From help hist:

N = HIST(Y) bins the elements of Y into 10 equally spaced containers
and returns the number of elements in each container.  If Y is a
matrix, HIST works down the columns.

For 1 the second look at help bar

More Related questions