2012-10-01 3 views
6

Ich habe eine 600x24 Matrix a, ich möchte Histogramm von jeder Spalte in der gleichen Figur, aber mit verschiedenen Farben in MATLAB, habe ich den folgenden Code, aber es gab mir nicht Regenbogenfarbe, habe ich den folgenden Code, bittePlotten mehrere Histogramm in der gleichen Figur mit unterschiedlicher Farbe in 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; 

Antwort

6

die MATLAB hist() Funktion arbeitet auf Matrizen helfen und verarbeitet jede Spalte der separat Matrix. Die bar() Funktion kann verwendet werden, um das Histogramm selbst zu zeichnen und die Einträge entsprechend zu färben. Daher sollten Sie das Ergebnis unter Verwendung von

[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); 
erreichen können