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 に答える