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

구문
설명
barh(___,
는 사용 가능한 공간에서 각 막대가 차지하는 비율을 지정합니다. 예를 들어, width
)barh(y,1)
은 각 그룹 내에서 막대가 서로 접하게 됩니다. 위에 열거된 구문에서 width
를 마지막 인수로 지정합니다.
barh(___,
는 하나 이상의 이름-값 쌍의 인수를 사용하여 막대 그래프의 속성을 지정합니다. 디폴트 Name,Value
)'grouped'
또는 'stacked'
스타일을 사용하는 막대 그래프에 대해서만 막대 속성을 설정할 수 있습니다. 다른 모든 입력 인수 다음에 이름-값 쌍 인수를 지정합니다. 속성 목록은 Bar 속성를 참조하십시오.
예제
x
를 세 개의 연도 값으로 구성된 행렬로 정의합니다. y
를 4개 도시의 적설량 데이터를 포함하는 행렬로 정의합니다. 각 연도에 대해 4개의 막대 계열을 그룹으로 표시합니다. 그런 다음 축 레이블과 범례를 추가합니다.
x = [1980 1990 2000]; y = [40 50 63 52; 42 55 50 48; 30 20 44 40]; barh(x,y) xlabel('Snowfall') ylabel('Year') legend({'Springfield','Fairview','Bristol','Jamesville'})
R2023b 이후
4개의 막대 이름이 포함된 string형 벡터 x
를 만듭니다. 막대 길이를 포함하는 숫자형 벡터 y
를 생성합니다. 그런 다음 x
와 y
의 막대 차트를 만듭니다.
x = ["Spring" "Summer" "Autumn" "Winter"]; y = [1 2 3 4]; barh(x,y)
행렬 y
를 만듭니다. 그런 다음 기준선 값을 25
로 하는 막대 그래프로 y
의 값을 표시합니다. 25
보다 작은 값은 기준선의 왼쪽에 표시됩니다.
y = [8 15 33; 30 35 40; 50 55 62];
barh(y,'BaseValue',25)
x
를 세 개의 연도 값으로 구성된 벡터로 정의합니다. y
를 음수 값과 양수 값이 조합되어 포함된 행렬로 정의합니다. 값을 누적 가로 막대 그래프로 표시합니다.
x = [1980 1990 2000];
y = [15 20 -5; 10 -17 21; -10 5 15];
barh(x,y,'stacked')
y
를 4개 값으로 구성된 벡터로 정의하고, 값을 가로 막대 그래프로 표시합니다. 그런 다음 yticklabels
함수를 호출하여 세로 축의 눈금 레이블을 변경합니다.
y = [10 20 30 41]; barh(y) yticklabels({'April','May','June','July'})
막대의 범주를 표시하는 방법 중 하나는 X
를 categorical형 배열로 지정하는 것입니다. barh
함수는 정렬된 범주 목록을 사용하기 때문에, 막대가 예상과 다른 순서로 표시될 수도 있습니다. 순서를 그대로 유지하려면 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]; barh(X,Y)
R2024b 이후
두 계열의 데이터를 포함하는 행렬 vals
를 만듭니다. 데이터를 가로 막대 그래프로 표시하고 출력 인수를 지정합니다. 계열이 두 개이기 때문에 barh
는 두 개의 Bar
객체로 구성된 벡터를 반환합니다.
x = [1 2 3]; vals = [2 3 6; 11 23 26]; b = barh(x,vals);
첫 번째 막대 계열의 끝 지점에 YData
속성에 저장된 막대값을 표시합니다.
b(1).Labels = b(1).YData;
그런 다음 동일한 방식으로 두 번째 막대 계열에 레이블을 지정합니다.
b(2).Labels = b(2).YData;
Labels
속성을 사용하여 막대 레이블을 지정하는 대신 text
함수를 사용하여 레이블을 만들고 XEndPoints
및 YEndPoints
속성을 사용하여 레이블의 위치를 지정할 수도 있습니다.
두 계열의 데이터를 포함하는 행렬 vals
를 만듭니다. 데이터를 가로 막대 그래프로 표시하고 출력 인수를 지정합니다. 계열이 두 개이기 때문에 barh
는 두 개의 Bar
객체로 구성된 벡터를 반환합니다.
x = [1 2 3]; vals = [2 3 6; 11 23 26]; b = barh(x,vals);
첫 번째 막대 계열의 끝 지점에 막대값을 표시합니다. 첫 번째 Bar
객체의 XEndPoints
속성과 YEndPoints
속성을 가져와서 막대 끝 지점의 좌표를 얻습니다. 가로 막대 그래프는 회전된 좌표축을 가지므로 XEndPoints
와 YEndPoints
의 값을 text
함수에 전달하기 전에 서로 바꿉니다. 텍스트가 막대 가장자리에 닿지 않도록 YEndpoints
에 채우기 값 0.3
을 추가합니다. 그런 다음 text
함수를 호출하여 레이블을 표시합니다.
xtips1 = b(1).YEndPoints + 0.3; ytips1 = b(1).XEndPoints; labels1 = string(b(1).YData); text(xtips1,ytips1,labels1,'VerticalAlignment','middle')
다음으로, 동일한 단계를 진행하여 두 번째 막대 계열의 끝 지점에 값을 표시합니다.
xtips2 = b(2).YEndPoints + 0.3; ytips2 = b(2).XEndPoints; labels2 = string(b(2).YData); text(xtips2,ytips2,labels2,'VerticalAlignment','middle')
데이터를 만들고 두께 0.4
의 빨간색 막대로 구성된 가로 막대 그래프로 표시합니다.
y = [10 22 30 42];
width = 0.4;
barh(y,width,'red');
각 열이 한 계열의 데이터를 나타내는 y
를 만듭니다. 그런 다음 출력 인수를 지정하여 barh
함수를 호출해서 데이터를 막대 그래프로 표시합니다. 이 경우 barh
는 세 개의 Bar
객체로 구성된 벡터를 반환합니다. 각 객체는 서로 다른 계열에 대응됩니다.
y = [10 15 20; 30 35 40; 50 55 62]; b = barh(y);
두 번째 막대 계열을 두꺼운 빨간색 가장자리가 둘러진 녹색으로 수정합니다.
b(2).FaceColor = [.2 .6 .5]; b(2).EdgeColor = [.63 .08 .18]; b(2).LineWidth = 2;
데이터를 만들고, 디폴트 'grouped'
스타일과 'stacked'
스타일을 사용하는 서로 다른 두 개의 막대 그래프로 표시합니다.
x = [1980 1990 2000]; y = [8 15 25; 30 35 40; 50 55 62]; % Grouped tiledlayout(2,1); ax1 = nexttile; barh(ax1,x,y) title('Grouped Style') % Stacked ax2 = nexttile; barh(ax2,x,y,'stacked') title('Stacked Style')
입력 인수
세로 축 좌표로, 스칼라, 벡터, 행렬, string형 배열 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다. x
의 값들은 순서대로 정렬될 필요가 없습니다.
x
를 string형 배열 또는 문자형 벡터로 구성된 셀형 배열로 지정할 경우, 이들 값은 고유해야 합니다. MATLAB®은 이 값들을 categorical형 배열로 저장하며 막대는 사용자가 지정한 순서대로 표시됩니다.
다음 표에서는 데이터를 표시하는 몇 가지 일반적인 방법을 설명합니다.
표시 방법 | X 와 Y 를 지정하는 방법 | 예 |
---|---|---|
하나의 막대 계열 표시. |
|
x = [1980 1990 2000]; y = [10 20 30]; barh(x,y)
|
여러 개의 막대 계열을 그룹으로 표시. | 다음과 같은 조합 중 하나를 지정합니다.
| x = [1980 1980 1980 1990 1990 1990]; y = [2 6 9 11 22 32]; barh(x,y) x = [1980 1990]; y = [2 6 9 11 22 32]; barh(x,y)
|
하나의 x 값을 중심으로 하는 하나의 막대 그룹 표시. |
|
x = 1990; y = [10 20 30]; barh(x,y)
|
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| categorical
| datetime
| duration
| string
(R2023b 이후) | cell
(R2023b 이후)
막대 길이로, 스칼라, 벡터 또는 행렬로 지정됩니다. y
의 크기는 x
의 크기 및 데이터를 표시하려는 방법에 따라 달라집니다. 다음 표에서는 가장 일반적인 경우를 설명합니다.
표시 방법 | X 와 Y 를 지정하는 방법 | 예 |
---|---|---|
하나의 막대 계열 표시. |
|
x = [1980 1990 2000]; y = [10 20 30]; barh(x,y)
|
여러 개의 막대 계열을 그룹으로 표시. | 다음과 같은 조합 중 하나를 지정합니다.
| x = [1980 1980 1980 1990 1990 1990]; y = [2 6 9 11 22 32]; barh(x,y) x = [1980 1990]; y = [2 6 9 11 22 32]; barh(x,y)
|
하나의 x 값을 중심으로 하는 하나의 막대 그룹 표시. |
|
x = 1990; y = [10 20 30]; barh(x,y)
|
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| duration
막대 두께로, 각 막대의 사용 가능한 총 공간에 대한 비율로 지정됩니다. 디폴트 값인 0.8
은 각 막대가 이전 막대에서 다음 막대까지의 공간의 80%를 사용하며 막대 양쪽에 10%의 빈 공간이 있음을 의미합니다.
두께가 1
이면 그룹 내에서 막대가 서로 접하게 됩니다.
예: barh([1 2 3],0.5)
는 사용 가능한 공간의 50%를 사용하는 막대를 만듭니다.
그룹 스타일로, 다음 값 중 하나로 지정됩니다.
스타일 | 결과 | 예 |
---|---|---|
| 각 그룹을 |
|
| 각 그룹을 서로 다른 색으로 채색된 하나의 막대로 표시합니다. 막대 길이는 그룹 내 요소들의 합과 같습니다.
|
|
| 그룹 내의 막대가 서로 접해 있는 히스토그램 형식으로 막대를 표시합니다. 각 그룹의 뒤쪽 경계값이 대응하는 참고
|
|
| 막대를 히스토그램 형식으로 표시합니다. 각 그룹은 대응하는 참고
|
|
막대 색으로, 다음 표에 나와 있는 옵션 중 하나로 지정됩니다.
색 이름 | 짧은 이름 | 모양 |
---|---|---|
'red' | 'r' | |
'green' | 'g' | |
'blue' | 'b' | |
'cyan' | 'c' | |
'magenta' | 'm' | |
'yellow' | 'y' | |
'black' | 'k' | |
'white' | 'w' | |
대상 좌표축으로, Axes
객체로 지정됩니다. 좌표축을 지정하지 않을 경우 막대 그래프는 현재 좌표축에 표시됩니다.
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오.
예: barh([10 20 30],'EdgeColor','g')
는 막대 주위에 녹색 윤곽선을 지정합니다.
참고
여기에 나와 있는 속성은 일부에 불과합니다. 전체 목록을 보려면 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" | 해당 없음 | 해당 없음 | 해당 없음 | 색 없음 |
다음 표에는 라이트 테마와 다크 테마에서 플롯의 디폴트 색 팔레트가 나열되어 있습니다.
팔레트 | 팔레트 색 |
---|---|
R2025a 이전: 대부분의 플롯은 기본적으로 이 색을 사용합니다. |
|
|
|
orderedcolors
함수와 rgb2hex
함수를 사용하여 이러한 팔레트의 RGB 3색과 16진수 색 코드를 가져올 수 있습니다. 예를 들어, "gem"
팔레트의 RGB 3색을 가져와서 16진수 색 코드로 변환해 보겠습니다.
RGB = orderedcolors("gem");
H = rgb2hex(RGB);
R2023b 이전: RGB = get(groot,"FactoryAxesColorOrder")
를 사용하여 RGB 3색을 가져옵니다.
R2024a 이전: H = compose("#%02X%02X%02X",round(RGB*255))
를 사용하여 16진수 색 코드를 가져옵니다.
예: 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" | 해당 없음 | 해당 없음 | 해당 없음 | 색 없음 |
다음 표에는 라이트 테마와 다크 테마에서 플롯의 디폴트 색 팔레트가 나열되어 있습니다.
팔레트 | 팔레트 색 |
---|---|
R2025a 이전: 대부분의 플롯은 기본적으로 이 색을 사용합니다. |
|
|
|
orderedcolors
함수와 rgb2hex
함수를 사용하여 이러한 팔레트의 RGB 3색과 16진수 색 코드를 가져올 수 있습니다. 예를 들어, "gem"
팔레트의 RGB 3색을 가져와서 16진수 색 코드로 변환해 보겠습니다.
RGB = orderedcolors("gem");
H = rgb2hex(RGB);
R2023b 이전: RGB = get(groot,"FactoryAxesColorOrder")
를 사용하여 RGB 3색을 가져옵니다.
R2024a 이전: H = compose("#%02X%02X%02X",round(RGB*255))
를 사용하여 16진수 색 코드를 가져옵니다.
R2017b부터, 디폴트 값은 좌표축의 ColorOrder
속성에서 가져오는 RGB 3색입니다. 이전 릴리스에서 디폴트 값은 'flat'
이었고 컬러맵에 기반한 색이었습니다.
예: b = bar(1:10,'FaceColor','red')
예: b.FaceColor = [0 0.5 0.5];
예: b.FaceColor = 'flat';
예: b.FaceColor = '#D2F9A7';
막대 윤곽선의 너비로, 양의 값으로 지정됩니다(단위: 포인트). 1포인트는 1/72인치와 같습니다.
예: 1.5
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
기준 값으로, 스칼라 숫자형 값으로 지정됩니다.
지정하는 기준 값은 막대 차트 방향에 따라 x축 또는 y축에 적용됩니다. 막대 차트의 방향을 세로에서 가로로 변경하면 또는 그 반대의 경우 기준 값이 변경될 수 있습니다. Horizontal
속성을 설정한 후 BaseValue
속성을 설정하십시오.
출력 인수
Bar
객체. b
의 요소를 사용하면 특정 Bar
객체가 생성된 후에 해당 객체의 속성에 액세스하여 수정할 수 있습니다. Bar
객체의 수는 y
의 크기에 따라 달라집니다. y
가 벡터이면 b
는 하나의 Bar
객체입니다. y
가 행렬이면 b
는 y
의 각 계열에 대한 Bar
객체를 포함하는 벡터입니다.
세부 정보
하나의 계열은 X
데이터 세트의 각 데이터에 해당하는 위치마다 배치된 막대들로 이루어집니다. 기본적으로 각 막대 계열은 서로 다른 색으로 표시됩니다.
하나의 그룹은 X
의 특정 위치에 함께 배치된 막대들로 이루어집니다.
확장 기능
barh
함수는 GPU 배열 입력값을 지원하지만 다음과 같은 사용법 관련 참고 및 제한 사항이 있습니다.
이 함수는 GPU 배열을 받지만 GPU에서 실행되지는 않습니다.
자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
사용법 관련 참고 및 제한 사항:
이 함수는 분산 배열에 대해 연산을 수행하지만 클라이언트 측의 MATLAB에서 실행됩니다.
자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨가로 막대 차트를 만들 때 막대 레이블을 string형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 지정할 수 있습니다. 막대 눈금 레이블은 지정한 순서로 표시됩니다.
참고 항목
함수
속성
외부 웹사이트
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)