2012-10-01 9 views
6

ho una matrice 600x24 a, voglio fare istogramma di ogni colonna nella stessa figura ma con colore differnet in MATLAB, ho usato il seguente codice ma non mi ha dato colore arcobaleno, ho usato il seguente codice, si prega di aiutoplottaggio istogramma multiplo nella stessa figura con colore diverso 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; 

risposta

6

la funzione MATLAB hist() lavora su matrici, ed elabora ogni colonna della matrice separatamente. La funzione bar() può essere utilizzata per tracciare manualmente l'istogramma e colorare le voci in modo appropriato. Pertanto dovresti essere in grado di ottenere il risultato utilizzando

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