2012-10-01 38 views
6

tôi có ma trận 600x24, tôi muốn tạo biểu đồ của mỗi cột trong cùng một hình nhưng với màu differnet trong MATLAB, tôi đã sử dụng mã sau nhưng nó không cho tôi cầu vồng màu sắc, tôi sử dụng đoạn mã sau, xin vui lòng giúpvẽ nhiều biểu đồ trong cùng một hình với màu sắc khác nhau trong 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; 

Trả lời

6

chức năng MATLAB hist() hoạt động trên ma trận, và xử lý mỗi cột của ma trận riêng rẽ. Bạn có thể sử dụng chức năng bar() để tự vẽ biểu đồ và tô màu các mục thích hợp. Do đó, bạn sẽ có thể đạt được kết quả bằng cách sử dụng

[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); 
Các vấn đề liên quan