2011-11-03 2 views
4

다중 선 그림의 색상을 선택할 수 있기를 원하지만 얻을 수 없습니다. 이 내 코드 나는 그것이 핸들을 사용하지 않고 동작하지 않습니다 수있는 몇 가지 이유Matlab에서 플롯 기능을위한 색상 설정

colors = {'b','r','g'}; 
T = [0 1 2]'; 
column = [2 3]; 
count = magic(3); 
SelecY = count(:,column), 
plot(T,SelecY,'Color',colors{column}); 
+1

또한 Q/A를 확인하십시오. http://stackoverflow.com/questions/2028818/automatically-plot-different-colored-lines-in-matlab –

+0

@JohnColby : 링크 해 주셔서 감사합니다. – julian

답변

3

한 번에 하나의 색상 만 지정할 수 있으며 3 요소 RGB 벡터로 지정해야합니다. 귀하의 세 가지 경로는 다음과 같습니다 통해

  1. 루프 당신이 그들을 가지고있는 것처럼, 문자열의 색상을 지정합니다

    hold on 
    for i=1:size(SelecY, 2) 
        plot(T, SelecY(:,i), colors{i}); 
    end 
    
  2. RGB 색상 규격을 사용하여, 당신은 '색상을 통해의 색상을 전달할 수 있습니다 '위에서 일을하려고 것처럼 재산 :

    cols = jet(8); 
    hold on 
    for i=1:size(SelecY, 2) 
        plot(T, SelecY(:,i), 'Color', cols(i,:)); 
    end 
    
  3. 또한 RGB 방식을 사용하여, 당신은 최대 정면 ColorOrder를 지정하고 다음을 통해 matlab에 순환합니다 :

set(gca, 'ColorOrder', jet(3)) 
hold all 
for i=1:size(SelecY, 2) 
    plot(T, SelecY(:,i)); 
end 

사후 색상을 을 설정하는 경우, 다른 대답을 참조하십시오.

+0

여러 답변을 주셔서 감사합니다. – julian

4

이지만 : 나를 위해

h = plot(T,SelecY); 
set(h, {'Color'}, colors(column)'); 

작품.

+1

답변 해 주셔서 감사합니다. 가장 작고 솔직한 것 같습니다. – julian