Main Content

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

그래프에 범례 추가하기

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

간단한 범례 만들기

선 차트와 산점도 차트를 포함한 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. The axes 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. The axes contains 3 objects of type line, scatter. These objects represent sin(x/2), 2016, 2017.

범례 모양 사용자 지정하기

legend 함수는 Legend 객체를 생성합니다. Legend 객체는 범례의 모양을 사용자 지정하는 데 사용할 수 있는 속성(예: Location, Orientation, FontSizeTitle 속성)을 갖습니다. 전체 목록을 보려면 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. The axes contains 2 objects of type line, scatter. These objects represent sin(x/2), 2016.

범례의 글꼴 크기와 제목

FontSize 속성과 Title 속성을 설정하여 범례의 글꼴 크기와 제목을 지정합니다. 변수 lgdLegend 객체를 할당합니다. 그런 다음 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. The axes 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. The axes 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 객체 b1b2legend 함수에 대한 첫 번째 입력 인수로 지정하여 막대 차트만 포함하는 범례를 생성합니다. 이 객체는 벡터로 지정합니다.

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. The axes contains 3 objects of type bar, scatter. These objects represent Bar Chart 1, Bar Chart 2.

참고 항목

|