주요 콘텐츠

그래프에 범례 추가하기

R2026b

범례는 그래프에 플로팅된 데이터 계열에 대해 레이블을 지정할 수 있는 유용한 방법입니다. 이 예제에서는 범례를 만드는 방법과 위치 변경, 글꼴 크기 설정, 제목 추가 등 일반적인 수정 방법을 보여줍니다. 또한 여러 개의 열을 갖는 범례를 만들거나 플로팅된 데이터의 일부에 대한 범례를 만들 수도 있습니다.

간단한 범례 만들기

선 차트와 산점도 차트를 포함한 Figure를 생성합니다. 그런 다음 각 차트에 대한 설명이 포함된 범례를 추가합니다. 범례 레이블을 legend 함수에 대한 입력값으로 지정합니다.

figure
x1 = linspace(0,5);
y1 = sin(x1/2);
plot(x1,y1)

hold on
x2 = [0 1 2 3 4 5];
y2 = [0.2 0.3 0.6 1 0.7 0.6];
scatter(x2,y2,'filled')
hold off

legend('sin(x/2)','2016')

Figure contains an axes object. The axes object contains 2 objects of type line, scatter. These objects represent sin(x/2), 2016.

DisplayName을 사용하여 레이블 지정하기

다른 방법으로, DisplayName 속성을 사용하여 범례 레이블을 지정할 수도 있습니다. 플로팅 함수를 호출할 때 DisplayName 속성을 이름-값 쌍으로 설정합니다. 그런 다음 legend 명령을 호출하여 범례를 생성합니다.

x1 = linspace(0,5);
y1 = sin(x1/2);
plot(x1,y1,'DisplayName','sin(x/2)')

hold on
x2 = [0 1 2 3 4 5];
y2 = [0.2 0.3 0.6 1 0.7 0.6];
scatter(x2,y2,'filled','DisplayName','2016')

legend

데이터 계열을 추가하거나 삭제할 때 범례는 자동으로 업데이트됩니다. 좌표축에 데이터를 추가할 경우에는 DisplayName 속성을 사용하여 레이블을 지정하십시오. DisplayName 속성을 설정하지 않으면 범례에는 'dataN' 형식의 레이블이 사용됩니다.

2017년 데이터에 대한 산점도 차트를 추가합니다.

x3 = [0 1 2 3 4 5];
y3 = [0.1 0.4 0.6 0.9 0.8 0.7];
scatter(x3,y3,'filled','DisplayName','2017')
drawnow
hold off

Figure contains an axes object. The axes object contains 3 objects of type line, scatter. These objects represent sin(x/2), 2016, 2017.

범례 모양 사용자 지정하기

legend 함수는 Legend 객체를 생성합니다. Legend 객체는 범례의 모양을 사용자 지정하는 데 사용할 수 있는 속성(예: Location, Orientation, FontSize 및 Title 속성)을 갖습니다. 전체 목록을 보려면 Legend 속성 항목을 참조하십시오.

다음 두 가지 방법으로 속성을 설정할 수 있습니다.

  • legend 명령에 이름-값 쌍을 사용합니다. 대부분의 경우, 이름-값 쌍을 사용할 때는 레이블을 셀형 배열로 지정해야 합니다(예: legend({'label1','label2'},'FontSize',14)).

  • Legend 객체를 사용합니다. Legend 객체를 legend 함수의 출력 인수로 반환할 수 있습니다(예: lgd = legend). 그런 다음 lgd에 점 표기법을 사용하여 속성을 설정합니다(예: lgd.FontSize = 14).

범례 위치와 방향

Location 속성과 Orientation 속성을 이름-값 쌍으로 설정하여 범례 위치와 방향을 지정합니다. 위치는 기본 방위(동, 서, 남, 북) 또는 기본 방위 사이의 방위(북동, 북서, 남동, 남서), 이 8가지 중 하나로 설정합니다(여기에서는 'northwest'). 방향은 'vertical'(디폴트 값)로 설정하거나 여기에서처럼 'horizontal'로 설정합니다. 레이블은 셀형 배열로 지정합니다.

x1 = linspace(0,5);
y1 = sin(x1/2);
plot(x1,y1)

hold on
x2 = [0 1 2 3 4 5];
y2 = [0.2 0.3 0.6 1 0.7 0.6];
scatter(x2,y2,'filled')
hold off

legend({'sin(x/2)','2016'},'Location','northwest','Orientation','horizontal')

Figure contains an axes object. The axes object contains 2 objects of type line, scatter. These objects represent sin(x/2), 2016.

범례의 글꼴 크기와 제목

FontSize 속성과 Title 속성을 설정하여 범례의 글꼴 크기와 제목을 지정합니다. 변수 lgd에 Legend 객체를 할당합니다. 그런 다음 lgd에 점 표기법을 사용하여 속성을 변경합니다.

x1 = linspace(0,5);
y1 = sin(x1/2);
plot(x1,y1,'DisplayName','sin(x/2)')

hold on
x2 = [0 1 2 3 4 5];
y2 = [0.2 0.3 0.6 1 0.7 0.6];
scatter(x2,y2,'filled','DisplayName','2016')
hold off

lgd = legend;
lgd.FontSize = 14;
lgd.Title.String = '2016 Data';

Figure contains an axes object. The axes object contains 2 objects of type line, scatter. These objects represent sin(x/2), 2016.

여러 열을 갖는 범례

6개의 선 플롯이 있는 차트를 생성합니다. NumColumns 속성을 2로 설정하여 두 개의 열을 갖는 범례를 추가합니다.

x = linspace(0,10);
y1 = sin(x);
y2 = sin(0.9*x);
y3 = sin(0.8*x);
y4 = sin(0.7*x);
y5 = sin(0.6*x);
y6 = sin(0.5*x);

plot(x,y1,'DisplayName','sin(x)')
hold on
plot(x,y2,'DisplayName','sin(0.9x)')
plot(x,y3,'DisplayName','sin(0.8x)')
plot(x,y4,'DisplayName','sin(0.7x)')
plot(x,y5,'DisplayName','sin(0.6x)')
plot(x,y6,'DisplayName','sin(0.5x)')
hold off

lgd = legend;
lgd.NumColumns = 2;

Figure contains an axes object. The axes object contains 6 objects of type line. These objects represent sin(x), sin(0.9x), sin(0.8x), sin(0.7x), sin(0.6x), sin(0.5x).

범례에 차트의 일부 포함시키기

2개의 막대 차트와 하나의 산점도 차트를 결합합니다. Bar 객체 b1과 b2를 legend 함수에 대한 첫 번째 입력 인수로 지정하여 막대 차트만 포함하는 범례를 생성합니다. 이 객체는 벡터로 지정합니다.

x = [1 2 3 4 5];
y1 = [.2 .4 .6 .4 .2];
b1 = bar(x,y1);

hold on 
y2 = [.1 .3 .5 .3 .1];
b2 = bar(x,y2,'BarWidth',0.5);

y3 = [.2 .4 .6 .4 .2];
s = scatter(x,y3,'filled');
hold off

legend([b1 b2],'Bar Chart 1','Bar Chart 2')

Figure contains an axes object. The axes object contains 3 objects of type bar, scatter. These objects represent Bar Chart 1, Bar Chart 2.

참고 항목

|