Main Content

colororder

색 순서 팔레트 설정 또는 쿼리

설명

색 설정

colororder(colorarray)는 현재 Figure의 색 순서 팔레트를 설정합니다. 색 순서는 MATLAB®이 좌표축 내에서 여러 데이터 계열을 플로팅하는 데 사용하는 색에 대한 정렬을 제어합니다.

colorarray를 RGB 3색으로 구성된 행렬 또는 색 이름으로 구성된 배열(예: ["red" "green" "blue"])로 지정합니다. Figure가 존재하지 않는 경우 MATLAB은 Figure를 만들고 해당 Figure의 팔레트를 설정합니다. Figure의 팔레트를 설정하면 해당 Figure 내의 모든 좌표축에 대해 팔레트가 설정됩니다.

예제

colororder(palettename)은 미리 정의된 팔레트 이름(예: "gem", "glow", "sail") 중 하나로 색을 지정합니다. (R2023b 이후)

예제

colororder(target,___)은 현재 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

Figure contains an axes object. The axes object contains 4 objects of type line.

x 좌표로 구성된 벡터와 y 좌표로 구성된 행렬을 만듭니다. 그런 다음 좌표를 플로팅합니다.

x = [1 2];
y = [0 1 2 3; 1 2 3 4];
plot(x,y,"LineWidth",2)

Figure contains an axes object. The axes object contains 4 objects of type line.

4개의 16진수 색 코드를 colororder 함수에 전달하여 플롯의 색을 변경합니다.

newcolors = ["#0B0" "#00F" "#50F" "#A0F"];
colororder(newcolors)

Figure contains an axes object. The axes object contains 4 objects of type line.

여러 명명된 색 팔레트 중 하나를 지정할 수도 있습니다. 색을 sail이라는 팔레트로 변경합니다.

colororder("sail")

Figure contains an axes object. The axes object contains 4 objects of type line.

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)

Figure contains an axes object. The axes object contains 3 objects of type bar.

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])

Figure contains an axes object. The axes object contains 4 objects of type line.

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)

Figure contains an axes object. The axes object contains 3 objects of type line.

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

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

Figure contains an axes object. The axes object contains 5 objects of type line.

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

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

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

Figure contains an axes object. The axes object contains 2 objects of type scatter.

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

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

Figure contains an axes object. The axes object contains 3 objects of type scatter.

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

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

Figure contains an axes object. The axes object contains 3 objects of type line.

반환 인수와 함께 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)

Figure contains 2 axes objects. Axes object 1 contains 3 objects of type line. Axes object 2 contains 3 objects of type line.

R2023b 이후

명명된 팔레트를 사용하여 차트 색을 편리하게 변경할 수 있습니다. 이 예제에서는 4개의 서로 다른 팔레트를 타일 형식 차트 레이아웃에서 비교합니다.

nexttile 함수를 호출하여 axes 객체가 한 개 포함된 타일 형식 차트 레이아웃을 만듭니다. 그런 다음 디폴트 팔레트 gem을 사용하여 난수의 막대 차트를 만듭니다.

nexttile
bar(rand(3,5))
title("gem")

Figure contains an axes object. The axes object with title gem contains 5 objects of type bar.

reef, meadow, earth 팔레트를 사용하여 막대 차트를 3개 더 만듭니다. 서로 다른 좌표축의 색을 지정하려면 axes 객체를 colororder 함수에 전달해야 합니다. axes 객체를 가져오려면 nexttile을 호출할 때 출력 인수를 지정합니다.

ax2 = nexttile;
bar(rand(3,5))
colororder(ax2,"reef")
title("reef")

ax3 = nexttile;
bar(rand(3,5))
colororder(ax3,"meadow")
title("meadow")

ax4 = nexttile;
bar(rand(3,5))
colororder(ax4,"earth")
title("earth")

Figure contains 4 axes objects. Axes object 1 with title gem contains 5 objects of type bar. Axes object 2 with title reef contains 5 objects of type bar. Axes object 3 with title meadow contains 5 objects of type bar. Axes object 4 with title earth contains 5 objects of type bar.

입력 인수

모두 축소

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

RGB 3색으로 구성된 행렬

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

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

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

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

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

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

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

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

색 이름짧은 이름RGB 3색16진수 색 코드모양
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

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

R2023b 이후

미리 정의된 팔레트 이름으로, 다음 표에 있는 값 중 하나 또는 "default"("gem"과 동일)로 지정됩니다.

팔레트 이름팔레트 색

"gem"

Sample of the "gem" color palette

"gem12"

Sample of the "gem12" color palette

"glow"

Sample of the "glow" color palette

"glow12"

Sample of "glow12" color palette

"sail"

Sample of the "sail" color palette

"reef"

Sample of the "reef" color palette

"meadow"

Sample of the "meadow" color palette

"dye"

Sample of the "dye" color palette

"earth"

Sample of the "earth" color palette

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

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

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

  • bubblecloud, piechart, donutchart, stackedplot, scatterhistogram, parallelplot 또는 geobubble 함수로 만든 차트와 같은 독립형 시각화.

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

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

버전 내역

R2019b에 개발됨

모두 확장