бок о бок умножьте гистограмму в matlab
Я хотел бы создать сюжет, подобный следующему в matlab.
или может быть что-то вроде этого
2 ответов
вы можете использовать bar(...) или ТСС(...), чтобы получить результаты, которые вы хотите. Рассмотрим следующий код с результатами, показанными ниже:
% Make some play data:
x = randn(100,3);
[y, b] = hist(x);
% You can plot on your own bar chart:
figure(82);
bar(b,y, 'grouped');
title('Grouped bar chart');
% Bust histogram will work here:
figure(44);
hist(x);
title('Histogram Automatically Grouping');
% Consider stack for the other type:
figure(83);
bar(b,y,'stacked');
title('Stacked bar chart');
Если ваши данные разных размеров, и вы хотите сделать гистограммы, вы можете выбрать бункеры самостоятельно, чтобы заставить hist(...) результаты должны быть одинакового размера, а затем построить результаты, сложенные в матрицу, как в:
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:
figure(3);
bar(myBins, [y1;y2]');
title('Mixed size result');
со следующими результатами:
не hist
уже не первый?
С 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.
для второго взгляда на help bar