2012-10-01 19 views
6

tengo una matriz de 600x24 a, quiero hacer un histograma de cada columna en la misma figura pero con diferente color en MATLAB, utilicé el siguiente código pero no me dio color del arco iris, he utilizado el siguiente código, por favor ayudaploteando histograma múltiple en la misma figura con diferente color en 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; 

Respuesta

6

la función MATLAB hist() trabaja sobre matrices y procesa cada columna de la matriz por separado. La función bar() se puede utilizar para trazar el histograma usted mismo y colorear las entradas de manera apropiada. Por lo tanto, debe poder lograr el resultado usando

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