2012-10-01 11 views
6

Mam matrycę 600x24, chcę zrobić histogram każdej kolumny na tej samej figurze, ale z innym kolorem w MATLAB, użyłem następującego kodu, ale nie dał mi koloru tęczy, i stosuje się następujące kodu należy pomocywykreślanie wielu histogramów na tej samej figurze z innym kolorem w 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; 

Odpowiedz

6

funkcja MATLAB hist() działa na matrycy i przetwarza każda kolumna macierzy oddzielnie. Funkcję bar() można użyć do samodzielnego wydrukowania histogramu i odpowiedniego pokolorowania wpisów. W związku z tym powinieneś być w stanie osiągnąć wynik, używając

[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);