6

我有一个 600x24 矩阵 a,我想在同一图中制作每列的直方图,但在 MATLAB 中使用不同的颜色,我使用了以下代码,但它没有给我彩虹色,我使用了以下代码,请帮忙

col = hsv(24);

hold on;

for m = 1:24
hist(a(:,m), 50);
h = findobj(gca,'Type','patch');
set(h,'FaceColor', col(m,:),'EdgeColor',col(m,:));
alpha(0.3);
end

hold off;
4

1 回答 1

6

MATLABhist()函数适用于矩阵,并分别处理矩阵的每一列。该bar()函数可用于自己绘制直方图,并适当地为条目着色。因此,您应该能够使用

[h,x] = hist(a,50); % histogram of every column and the bins vector
bar(x,h);           % plot histograms

% create a legend
l = cell(1,24);
for n=1:24, l{n} = num2str(n), end;
legend(l);
于 2012-10-01T18:17:47.417 回答