이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

bar

설명

예제

bar(y)y의 각 요소마다 막대가 하나씩 있는 막대 그래프를 만듭니다. y가 mxn 행렬인 경우 bar는 n개의 막대로 구성된 그룹 m개를 만듭니다.

예제

bar(x,y)x로 지정된 위치에 막대를 그립니다.

예제

bar(___,width)는 상대적인 막대 너비를 설정합니다. 이 막대 너비는 그룹 내에서 막대 간 구분 방법을 제어합니다. width를 스칼라 값으로 지정합니다. 위에 열거된 구문에 나와 있는 입력 인수를 조합하여 이 옵션과 함께 사용하십시오.

예제

bar(___,style)은 막대 그룹의 스타일을 지정합니다. 예를 들어, 'stacked'를 사용하면 한 막대 내 각 그룹이 서로 다른 색으로 채색되어 표시됩니다.

예제

bar(___,color)는 모든 막대의 색을 설정합니다. 예를 들어, 빨간색 막대를 만들려면 'r'을 사용합니다.

예제

bar(___,Name,Value)는 하나 이상의 이름-값 쌍의 인수를 사용하여 막대 그래프의 속성을 지정합니다. 디폴트 'grouped' 또는 'stacked' 스타일을 사용하는 막대 그래프에 대해서만 막대 속성을 설정할 수 있습니다. 다른 모든 입력 인수 다음에 이름-값 쌍 인수를 지정합니다. 속성 목록은 Bar 속성를 참조하십시오.

예제

bar(ax,___)는 현재 좌표축(gca) 대신 ax로 지정된 좌표축에 플로팅됩니다. 옵션 ax는 위에 열거된 구문의 입력 인수 조합보다 먼저 나올 수 있습니다.

예제

b = bar(___)는 하나 이상의 Bar 객체를 반환합니다. y가 벡터인 경우 barBar 객체를 하나 생성합니다. y가 행렬이면 bar는 각 계열에 대해 Bar 객체를 반환합니다. b를 사용하면 막대 그래프를 표시한 후에 막대의 속성을 설정할 수 있습니다.

예제

모두 축소

y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(y)

x축을 따라 막대 위치를 지정합니다.

x = 1900:10:2000;
y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(x,y)

각각의 막대에 사용할 수 있는 총 공간의 40%로 각 막대의 너비를 설정합니다.

y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(y,0.4)

3개의 막대로 구성된 그룹 4개를 표시합니다.

y = [2 2 3; 2 5 6; 2 8 9; 2 11 12];
bar(y)

행렬의 각 행마다 하나씩 막대를 표시합니다. 행에 있는 모든 요소의 합이 각 막대의 높이가 됩니다.

y = [2 2 3; 2 5 6; 2 8 9; 2 11 12];
bar(y,'stacked')

x를 세 개의 연도 값으로 구성된 벡터로 정의합니다. y를 음수 값과 양수 값이 조합되어 포함된 행렬로 정의합니다. 값을 막대 그래프로 표시합니다.

x = [1980 1990 2000];
y = [15 20 -5; 10 -17 21; -10 5 15];
bar(x,y,'stacked')

막대의 범주를 표시하는 방법 중 하나는 X를 categorical형 배열로 지정하는 것입니다. bar 함수는 정렬된 범주 목록을 사용하기 때문에, 막대가 예상과 다른 순서로 표시될 수도 있습니다. 순서를 그대로 유지하려면 reordercats 함수를 호출하십시오.

X를 categorical형 배열로 정의한 후 reordercats 함수를 호출하여 막대의 순서를 지정합니다. 그런 다음 Y를 막대 높이로 구성된 벡터로 정의하고 막대 그래프를 표시합니다.

X = categorical({'Small','Medium','Large','Extra Large'});
X = reordercats(X,{'Small','Medium','Large','Extra Large'});
Y = [10 21 33 52];
bar(X,Y)

vals를 두 개의 데이터 세트 값을 포함하는 행렬로 정의합니다. 값을 막대 그래프로 표시하고 출력 인수를 지정합니다. 데이터 세트가 두 개이므로 bar는 두 개의 Bar 객체를 포함하는 벡터를 반환합니다.

x = [1 2 3];
vals = [2 3 6; 11 23 26];
b = bar(x,vals);

첫 번째 막대 계열의 끝 지점에 값을 표시합니다. 첫 번째 Bar 객체의 XEndPoints 속성과 YEndPoints 속성을 가져와서 막대 끝 지점의 좌표를 얻습니다. 이들 좌표를 text 함수에 전달하고 세로, 가로 방향 배치를 지정하여 값이 막대 끝 지점의 중앙에 표시되도록 합니다.

xtips1 = b(1).XEndPoints;
ytips1 = b(1).YEndPoints;
labels1 = string(b(1).YData);
text(xtips1,ytips1,labels1,'HorizontalAlignment','center',...
    'VerticalAlignment','bottom')

다음으로, 두 번째 막대 계열의 끝 지점에 값을 표시합니다.

xtips2 = b(2).XEndPoints;
ytips2 = b(2).YEndPoints;
labels2 = string(b(2).YData);
text(xtips2,ytips2,labels2,'HorizontalAlignment','center',...
    'VerticalAlignment','bottom')

R2019b부터는 tiledlayout 함수와 nexttile 함수를 사용하여 막대 그래프를 바둑판식 배열로 표시할 수 있습니다. tiledlayout 함수를 호출하여 2x1 바둑판식 배열 차트 레이아웃을 만듭니다. nexttile 함수를 호출하여 axes 객체 ax1ax2를 만듭니다. 상부 좌표축에 막대 그래프를 표시합니다. 하부 좌표축에 동일한 데이터를 사용하여 누적 막대 그래프를 표시합니다.

y = [1 2 3; 4 5 6];
tiledlayout(2,1)

% Top bar graph
ax1 = nexttile;
bar(ax1,y)

% Bottom bar graph
ax2 = nexttile;
bar(ax2,y,'stacked')

빨간색 막대를 사용하여 막대 그래프를 만듭니다.

y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(y,'r')

RGB 3색을 사용하여 막대 내부 색과 윤곽선 색을 설정합니다. 막대 윤곽선의 너비를 설정합니다.

y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(y,'FaceColor',[0 .5 .5],'EdgeColor',[0 .9 .9],'LineWidth',1.5)

Bar 객체의 CData 속성을 사용하여 개별 막대 색을 제어합니다.

막대 차트를 만들고 변수에 Bar 객체를 할당합니다. Bar 객체의 FaceColor 속성을 'flat'으로 설정하여 CData 속성에서 정의한 색을 차트에 사용하도록 합니다. 기본적으로, CData 속성에는 디폴트 RGB 색 값의 행렬이 미리 채워집니다. 특정 색을 변경하려면 행렬에서 해당하는 행을 변경하십시오. 예를 들어, 두 번째 막대의 색을 변경해 보겠습니다.

b = bar(rand(10,1));
b.FaceColor = 'flat';
b.CData(2,:) = [.5 0 .5];

FaceColor 속성을 'flat'으로 설정하여 컬러맵 색을 사용하는 막대 차트를 만듭니다. 그런 다음, 각 Bar 객체의 CData 속성을 정수로 설정합니다.

y = [1 3 5; 3 2 7; 3 4 2];
b = bar(y,'FaceColor','flat');
for k = 1:size(y,2)
    b(k).CData = k;
end

각 열이 한 계열의 데이터를 나타내는 행렬 y를 만듭니다. bar 함수를 호출하여 데이터를 막대 그래프로 표시하고 출력 인수를 지정합니다. 출력값은 세 개의 Bar 객체로 구성된 벡터입니다. 여기서 각 객체는 각각의 서로 다른 계열에 대응됩니다. 이는 막대가 그룹형이든 누적형이든 둘 다 동일합니다.

y = [10 15 20; 30 35 40; 50 55 62];
b = bar(y);

세 번째 막대 계열을 녹색으로 지정합니다.

b(3).FaceColor = [.2 .6 .5];

입력 인수

모두 축소

x 좌표로, 스칼라, 벡터 또는 행렬로 지정됩니다. x의 값들은 순서대로 되어 있을 필요는 없지만, x의 크기는 y의 크기 및 데이터를 표시하려는 방법에 따라 달라집니다. 다음 표에서는 가장 일반적인 경우를 설명합니다.

표시 방법X와 Y를 지정하는 방법
하나의 막대 계열 표시.

xy를 동일한 길이의 벡터로 지정합니다. x의 값은 고유해야 하지만 y의 값은 고유하지 않아도 됩니다.

x = [1980 1990 2000];
y = [10 20 30];
bar(x,y)

여러 개의 막대 계열을 그룹으로 표시.

다음과 같은 조합 중 하나를 지정합니다.

  • xy를 동일한 크기의 행렬로 지정합니다. y의 열은 각각 하나의 막대 계열에 대응됩니다. 기본적으로 각 계열은 서로 다른 색입니다. 그룹을 일관되게 배치하려면 x의 열을 동일한 벡터로 지정하십시오. 열이 반복되더라도 열 내에 있는 값들은 고유해야 합니다.

  • x를 고유한 값으로 구성된 벡터로 지정하고 y를 행렬로 지정합니다. x의 길이는 적어도 y의 한 차원과 길이가 같아야 합니다. y의 나머지 차원은 각 막대 계열별 값을 포함합니다.

x = [1980 1980 1980
     1990 1990 1990];
y = [2 6 9
    11 22 32];
bar(x,y)
또는
x = [1980 1990];
y = [2 6 9
    11 22 32];
bar(x,y)

하나의 x 값을 중심으로 하는 하나의 막대 그룹 표시.

x를 스칼라로 지정하고 y를 벡터로 지정합니다.

x = 1990;
y = [10 20 30];
bar(x,y)

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration

y 좌표로, 스칼라, 벡터 또는 행렬로 지정됩니다. y의 크기는 x의 크기 및 데이터를 표시하려는 방법에 따라 달라집니다. 다음 표에서는 가장 일반적인 경우를 설명합니다.

표시 방법X와 Y를 지정하는 방법
하나의 막대 계열 표시.

xy를 동일한 길이의 벡터로 지정합니다. x의 값은 고유해야 하지만 y의 값은 고유하지 않아도 됩니다.

x = [1980 1990 2000];
y = [10 20 30];
bar(x,y)

여러 개의 막대 계열을 그룹으로 표시.

다음과 같은 조합 중 하나를 지정합니다.

  • xy를 동일한 크기의 행렬로 지정합니다. y의 열은 각각 하나의 막대 계열에 대응됩니다. 기본적으로 각 계열은 서로 다른 색입니다. 그룹을 일관되게 배치하려면 x의 열을 동일한 벡터로 지정하십시오. 열이 반복되더라도 열 내에 있는 값들은 고유해야 합니다.

  • x를 고유한 값으로 구성된 벡터로 지정하고 y를 행렬로 지정합니다. x의 길이는 적어도 y의 한 차원과 길이가 같아야 합니다. y의 나머지 차원은 각 막대 계열별 값을 포함합니다.

x = [1980 1980 1980
     1990 1990 1990];
y = [2 6 9
    11 22 32];
bar(x,y)
또는
x = [1980 1990];
y = [2 6 9
    11 22 32];
bar(x,y)

하나의 x 값을 중심으로 하는 하나의 막대 그룹 표시.

x를 스칼라로 지정하고 y를 벡터로 지정합니다.

x = 1990;
y = [10 20 30];
bar(x,y)

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | duration

막대 너비로, 각 막대의 사용 가능한 총 공간에 대한 비율로 지정됩니다. 디폴트 값인 0.8은 막대 너비가 이전 막대에서 다음 막대까지의 거리의 80%이며 그 거리의 10% 간격이 막대 양쪽에 존재함을 의미합니다.

너비가 1이면 그룹 내에서 막대가 서로 접하게 됩니다.

예: bar([1 2 3],0.5)는 사용 가능한 공간의 50%를 사용하는 막대를 만듭니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

그룹 스타일로, 다음 값 중 하나로 지정됩니다.

스타일결과

'grouped'

각 그룹을 x 값을 중심으로 인접해 있는 막대로 표시합니다.

'stacked'

각 그룹을 서로 다른 색으로 채색된 하나의 막대로 표시합니다. 막대 길이는 그룹 내 요소들의 합과 같습니다.

y가 벡터인 경우 결과는 'grouped'와 같습니다.

'histc'

그룹 내의 막대가 서로 접해 있는 히스토그램 형식으로 막대를 표시합니다. 각 그룹의 막대 경계는 대응하는 x 값을 시작점으로 하여 정렬됩니다.

참고

histogram 함수를 호출하면 히스토그램을 더 잘 표시할 수 있습니다.

'hist'

막대를 히스토그램 형식으로 표시합니다. 각 그룹은 대응하는 x 값을 중심점으로 하여 정렬됩니다.

참고

histogram 함수를 호출하면 히스토그램을 더 잘 표시할 수 있습니다.

막대 색으로, 다음 표에 있는 색 중 하나로 지정됩니다.

'b'파란색
'r'빨간색
'g'녹색
'c'녹청색
'm'자홍색
'y'노란색
'k'검은색
'w'흰색

axes 객체입니다. axes를 지정하지 않으면 bar는 막대 그래프의 현재 좌표축을 사용합니다.

이름-값 쌍의 인수

선택적으로 Name,Value 인수가 쉼표로 구분되어 지정됩니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. Name은 따옴표 안에 표시해야 합니다. Name1,Value1,...,NameN,ValueN과 같이 여러 개의 이름-값 쌍의 인수를 어떤 순서로든 지정할 수 있습니다.

예: bar([10 20 30],'EdgeColor','g')는 막대 주위에 녹색 윤곽선을 지정합니다.

여기에 나와 있는 Bar 속성은 일부에 불과합니다. 전체 목록을 보려면 Bar 속성를 참조하십시오.

참고

  • 여기에 나와 있는 속성은 일부에 불과합니다. 전체 목록을 보려면 Bar 속성를 참조하십시오.

  • 이러한 속성은 디폴트 'grouped' 또는 'stacked' 스타일을 사용하는 막대 그래프에 대해서만 설정할 수 있습니다.

윤곽선 색으로, 'flat', RGB 3색, 16진수 색 코드, 색 이름 또는 짧은 이름으로 지정됩니다. 막대 수가 150개 이하이면 디폴트 값은 [0 0 0]으로, 검은색에 해당합니다. 150개 이상의 인접한 막대가 있으면 디폴트 값은 'none'입니다.

R2017b부터, 'flat' 옵션은 CData 값을 사용하여 가장자리에 색을 지정합니다. 이전 릴리스에서 'flat' 옵션은 컬러맵의 색을 사용하여 가장자리에 색을 지정했습니다.

사용자 지정 색의 경우에는 RGB 3색 또는 16진수 색 코드를 지정하십시오.

  • RGB 3색은 요소를 3개 가진 행 벡터로, 각 요소는 색을 구성하는 빨간색, 녹색, 파란색의 농도를 지정합니다. 농도의 범위는 [0,1]이어야 합니다(예: [0.4 0.6 0.7]).

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

몇몇의 흔한 색은 이름으로 지정할 수도 있습니다. 다음 표에는 명명된 색 옵션과 그에 해당하는 RGB 3색 및 16진수 색 코드가 나와 있습니다.

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

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

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

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

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

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

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'해당 없음해당 없음해당 없음색 없음

다음은 MATLAB®이 여러 유형의 플롯에서 사용하는 디폴트 색의 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'

예: b = bar(1:10,'EdgeColor','red')

예: b.EdgeColor = [0 0.5 0.5];

예: b.EdgeColor = 'flat';

예: b.EdgeColor = '#D2F9A7';

채우기 색으로, 'flat', RGB 3색, 16진수 색 코드, 색 이름 또는 짧은 이름으로 지정됩니다. 'flat' 옵션은 Bar 객체의 CData 속성값을 사용하여 면을 채색합니다.

사용자 지정 색의 경우에는 RGB 3색 또는 16진수 색 코드를 지정하십시오.

  • RGB 3색은 요소를 3개 가진 행 벡터로, 각 요소는 색을 구성하는 빨간색, 녹색, 파란색의 농도를 지정합니다. 농도의 범위는 [0,1]이어야 합니다(예: [0.4 0.6 0.7]).

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

몇몇의 흔한 색은 이름으로 지정할 수도 있습니다. 다음 표에는 명명된 색 옵션과 그에 해당하는 RGB 3색 및 16진수 색 코드가 나와 있습니다.

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

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

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

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

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

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

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'해당 없음해당 없음해당 없음색 없음

다음은 MATLAB이 여러 유형의 플롯에서 사용하는 디폴트 색의 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'

R2017b부터, 디폴트 값은 좌표축의 ColorOrder 속성에서 가져오는 RGB 3색입니다. 이전 릴리스에서 디폴트 값은 'flat'이었고 컬러맵에 기반한 색이었습니다.

예: b = bar(1:10,'FaceColor','red')

예: b.FaceColor = [0 0.5 0.5];

예: b.FaceColor = 'flat';

예: b.FaceColor = '#D2F9A7';

색 데이터로, 다음 값 중 하나로 지정됩니다.

  • RGB 3색 — 모든 막대에 단일 RGB 색 값이 적용됩니다.

  • 3열 행렬 — 막대당 색 하나. 행렬의 각 행은 특정 막대에 대한 RGB 3색을 지정합니다.

  • 스칼라 — 모든 막대에 단일 색이 적용되며, 색은 컬러맵에서 가져옵니다.

  • 벡터 — 막대 당 색 하나. 색은 컬러맵에서 가져옵니다.

기본적으로, 막대 차트를 만들 때 CData 속성은 RGB 3색으로 구성된 3열 행렬을 포함합니다. 행렬에서 상응하는 행을 변경하여 특정 막대에 대한 색을 변경할 수 있습니다.

이 속성은 FaceColor 속성이나 EdgeColor 속성이 'flat'으로 설정된 경우에만 적용됩니다.

예제

FaceColor 속성을 'flat'으로 설정하여 특정 막대에 대한 색을 변경합니다. 그런 다음 CData 행렬에서 상응하는 행을 새 RGB 3색으로 변경합니다. 예를 들어, 두 번째 막대의 색을 변경해 보겠습니다.

b = bar(1:10,'FaceColor','flat');
b.CData(2,:) = [0 0.8 0.8];

기준 값으로, 스칼라 숫자형 값으로 지정됩니다.

지정하는 기준 값은 막대 차트 방향에 따라 x축 또는 y축에 적용됩니다. 막대 차트의 방향을 세로에서 가로로 변경하면 또는 그 반대의 경우 기준 값이 변경될 수 있습니다. Horizontal 속성을 설정한 후 BaseValue 속성을 설정하십시오.

막대 윤곽선의 선 스타일로, 다음 표에 있는 선 스타일 중 하나로 지정됩니다.

선 스타일선 스타일결과 선
'-'실선

'--'파선

':'점선

'-.'일점 쇄선

'none'선 없음선 없음

막대 윤곽선의 너비로, 양의 값으로 지정됩니다(단위: 포인트). 1포인트는 1/72인치와 같습니다.

예: 1.5

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

출력 인수

모두 축소

Bar 객체. b의 요소를 사용하면 특정 Bar 객체가 생성된 후에 해당 객체의 속성에 액세스하여 수정할 수 있습니다. Bar 객체의 수는 y의 크기에 따라 달라집니다. y가 벡터이면 b는 하나의 Bar 객체입니다. y가 행렬이면 by의 각 계열에 대한 Bar 객체를 포함하는 벡터입니다.

세부 정보

모두 축소

막대 계열

하나의 계열은 X 데이터 세트의 각 데이터에 해당하는 위치마다 배치된 막대들로 이루어집니다. 기본적으로 각 막대 계열은 서로 다른 색으로 표시됩니다.

막대 그룹

하나의 그룹은 X의 특정 위치에 함께 배치된 막대들로 이루어집니다.

확장 기능

R2006a 이전에 개발됨