Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

colororder

여러 데이터 계열의 시각화를 위해 색 순서 설정

설명

예제

colororder(newcolors)는 현재 Figure의 색 순서를 설정합니다. Figure가 존재하지 않는 경우 MATLAB®은 Figure를 만들고 해당 Figure의 색 순서를 설정합니다. Figure의 색 순서를 설정하면 해당 Figure 내의 모든 좌표축에 대해 색 순서가 설정됩니다.

예제

colororder(target,newcolors)는 현재 Figure 대신 대상 좌표축, Figure 또는 차트의 색 순서를 설정합니다.

C = colororder는 현재 Figure의 색 순서 행렬을 반환합니다.

예제

C = colororder(target)은 대상 Figure, 좌표축 또는 차트의 색 순서 행렬을 반환합니다.

예제

모두 축소

Figure의 색 순서를 4개의 색으로 설정합니다. x 좌표 벡터 하나와 y 좌표 벡터 4개를 정의합니다. 그런 다음 각 좌표 집합을 플로팅합니다.

newcolors = [0.83 0.14 0.14
             1.00 0.54 0.00
             0.47 0.25 0.80
             0.25 0.80 0.54];
         
colororder(newcolors)

% Define coordinates
x = linspace(0,10);
y1 = sin(x);
y2 = sin(x-0.5);
y3 = sin(x-1);
y4 = sin(x-1.5);

% Plot coordinates
plot(x,y1,'LineWidth',2)
hold on
plot(x,y2,'LineWidth',2)
plot(x,y3,'LineWidth',2)
plot(x,y4,'LineWidth',2)
hold off

7개의 동심 사분원을 플로팅합니다.

hold on
for r=1:7
    x = linspace(0,r,500);
    y = sqrt(r.^2-x.^2);
    plot(x,y,'LineWidth',15)
end

색 순서를 7개의 16진수 색 코드로 변경합니다.

newcolors = {'#F00','#F80','#FF0','#0B0','#00F','#50F','#A0F'};
colororder(newcolors)

3개의 막대 계열을 표시합니다. 그런 다음 색 순서를 파란색, 자주색, 회색으로 설정합니다.

bar([10 20 30; 25 35 45; 30 40 52])
newcolors = [0 0.5 1; 0.5 0 1; 0.7 0.7 0.7];
colororder(newcolors)

yyaxis를 호출하기 전에 Figure의 색 순서를 설정하면 각 y축의 색이 설정됩니다. 왼쪽 축은 첫 번째 색을 사용하고 오른쪽 축은 두 번째 색을 사용합니다. 셋 이상의 색을 지정하는 경우 추가 색은 어느 축에서도 사용되지 않습니다.

newcolors를 두 개의 RGB 3색을 포함하는 행렬로 정의합니다. Figure의 색 순서를 설정하고, 왼쪽 축에 두 개의 선을 플로팅합니다. 그런 다음 오른쪽 축에 두 개의 선을 플로팅합니다.

newcolors = [0.40 0.30 0.90; 0.50 0.65 0.15];
colororder(newcolors)

% Left side
yyaxis left
plot([1 2; 3 4])

% Right side
yyaxis right
plot([4 3; 2 1])

yyaxis를 호출한 후에 Figure의 색 순서를 설정하면 활성 축의 색이 설정됩니다.

왼쪽 y축을 활성화하고 세 개의 선을 플로팅합니다. 선 스타일 순서를 하나의 실선으로 설정하고 y축 색을 파란색으로 변경합니다. 그런 다음 색 순서를 3가지 파란색 음영으로 설정합니다.

% Left side
yyaxis left
plot([1 2 3; 4 5 6])
ax = gca;
ax.LineStyleOrder = '-';
ax.YColor = 'blue';
leftcolors = [0 0 1; 0 0.50 1; 0 0.80 1];
colororder(leftcolors)

오른쪽 y축을 활성화하고 두 개의 선을 플로팅합니다. y축 색을 검은색으로 변경합니다. 그런 다음 색 순서를 검은색으로 설정합니다.

% Right side
yyaxis right
plot([4 3; 2 1])
ax.YColor = 'black';
colororder('black')

색 인수를 사용하여 플로팅 함수를 호출하면 플로팅 함수는 해당 색을 다음번 순서의 색 대신에 사용합니다.

Figure의 색 순서를 빨간색, 자홍색, 파란색으로 설정합니다. scatter 함수를 호출하여 한 계열의 산점을 플로팅합니다. 그런 다음 두 번째 계열의 점을 플로팅하고, 마커를 검은색 별표로 지정합니다.

newcolors = {'red','magenta','blue'};
colororder(newcolors)
scatter(1:10,rand(1,10),'filled')
hold on
scatter(1:10,rand(1,10),'*k')

마커 색을 지정하지 않은 채로 세 번째 계열의 점을 플로팅합니다. 이 계열은 색 순서의 세 번째 색인 파란색을 사용함을 알 수 있습니다.

scatter(1:10,rand(1,10),'filled')
hold off

타일 형식 차트 레이아웃을 만들고 첫 번째 타일에 세 개의 선을 플로팅합니다.

tiledlayout('flow')
nexttile
plot([1 2 3; 4 5 6],'LineWidth',2)

반환 인수와 함께 nexttile 함수를 호출하여 두 번째 타일의 axes 객체를 가져옵니다. 두 번째 타일에 세 개의 선을 플로팅합니다. 그런 다음 좌표축의 색 순서 행렬을 가져오고 출력값을 C에 반환합니다. C의 첫 번째 색을 자주색으로 변경하고, 좌표축 색 순서를 수정된 C 행렬로 설정합니다.

ax = nexttile;
plot(ax,[4 5 6; 1 2 3],'LineWidth',2)
C = colororder(ax);
C(1,:) = [0.5 0 1];
colororder(ax,C)

입력 인수

모두 축소

새로운 색으로, RGB 3색으로 구성된 행렬, 색 이름으로 구성된 배열 또는 'default'로 지정됩니다.

RGB 3색으로 구성된 행렬

각 행이 RGB 3색인 m×3 행렬을 지정합니다. RGB 3색은 요소를 3개 가진 벡터로, 각 요소는 색을 구성하는 빨간색, 녹색, 파란색의 농도를 포함합니다. 농도의 범위는 [0,1]이어야 합니다. 예를 들어, 다음 행렬은 파란색, 짙은 녹색, 주황색을 새로운 색으로 정의합니다.

newcolors = [1.0 0.0 0.0
             0.0 0.4 0.0
             1.0 0.5 0.0];

색 이름 또는 16진수 색 코드로 구성된 배열

색 이름, 짧은 이름 또는 16진수 색 코드의 임의 조합을 지정합니다.

  • 하나의 색을 지정하려면 newcolors를 문자형 벡터 또는 string형 스칼라로 설정하십시오. 예를 들어, newcolors = 'red'는 빨간색을 색 순서의 유일한 색으로 지정합니다.

  • 여러 색을 지정하려면 newcolors를 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 설정하십시오. 예를 들어, newcolors = {'red','green','blue'}는 색을 빨간색, 녹색, 파란색으로 지정합니다.

16진수 색 코드는 해시 기호(#)로 시작하고 그 뒤에 3자리 또는 6자리의 16진수 숫자(0에서 F 사이일 수 있음)가 옵니다. 이 값은 대/소문자를 구분하지 않습니다. 따라서 색 코드 '#FF8800', '#ff8800', '#F80''#f80'은 모두 동일합니다.

다음 표에는 짧은 이름 및 색 이름과 그에 해당하는 16진수 색 코드가 나와 있습니다.

색 이름짧은 이름16진수 색 코드모양
'red''r''#FF0000'

'green''g''#00FF00'

'blue''b''#0000FF'

'cyan' 'c''#00FFFF'

'magenta''m''#FF00FF'

'yellow''y''#FFFF00'

'black''k''#000000'

'white''w''#FFFFFF'

디폴트 색

'default'를 지정하면 색 순서가 7가지 디폴트 색으로 설정됩니다. 이 옵션은 색 순서를 임시로 변경했다가 원래대로 재설정하는 경우에 유용합니다. 다음은 디폴트 색의 RGB 3색과 16진수 색 코드입니다.

RGB 3색16진수 색 코드모양
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

데이터형: single | double | char | cell | string

대상으로, 다음 값 중 하나로 지정됩니다.

  • Figure. 새로운 색이 Figure에 있는 모든 좌표축의 내용에 영향을 줍니다.

  • 임의 유형의 axes 객체: Axes 객체, PolarAxes 객체 또는 GeographicAxes 객체. 새로운 색이 지정된 좌표축의 내용에만 영향을 줍니다.

  • scatterhistogram, parallelplot 또는 geobubble 함수를 사용하여 만든 독립형 시각화.

세부 정보

모두 축소

색 순서

색 순서는 MATLAB이 좌표축 내에서 여러 데이터 계열을 플로팅하는 데 사용하는 색 집합을 제어합니다. Line 객체, Scatter 객체, Bar 객체와 같은 그래픽스 객체는 객체의 생성 순서에 따라 색이 할당됩니다.

색은 좌표축의 ColorOrder 속성에 행렬로 저장됩니다. colororder 함수를 호출하면 행렬이 대체됩니다.

  • Figure의 색 순서를 설정하면 플로팅 함수를 호출할 때 색이 그대로 유지됩니다. 그러나 colororder 함수에 axes 객체를 전달하는 경우에는 플로팅 함수를 호출할 때 먼저 hold on을 호출해야 색이 그대로 유지됩니다.

  • 좌표축에서 ColorOrderIndex 또는 LineStyleOrderIndex 속성을 설정하면 새로운 색 순서가 기존 플롯에 영향을 주지 않습니다. hold on을 호출한 다음 플로팅 함수를 호출하는 경우에만 새로운 색이 적용됩니다.

참고 항목

함수

속성

R2019b에 개발됨