barh
가로 막대 그래프
구문
설명
barh(___,
는 사용 가능한 공간에서 각 막대가 차지하는 비율을 지정합니다. 예를 들어, width
)barh(y,1)
은 각 그룹 내에서 막대가 서로 접하게 됩니다. 위에 열거된 구문에서 width
를 마지막 인수로 지정합니다.
barh(___,
는 하나 이상의 이름-값 쌍의 인수를 사용하여 막대 그래프의 속성을 지정합니다. 디폴트 Name,Value
)'grouped'
또는 'stacked'
스타일을 사용하는 막대 그래프에 대해서만 막대 속성을 설정할 수 있습니다. 다른 모든 입력 인수 다음에 이름-값 쌍 인수를 지정합니다. 속성 목록은 Bar 속성를 참조하십시오.
예제
하나의 막대 계열 표시하기
4개의 막대 계열을 축 레이블 및 범례와 함께 표시하기
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'})
막대 위치를 string형 벡터로 지정하기
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'})
categorical형 데이터 지정하기
막대의 범주를 표시하는 방법 중 하나는 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)
막대 끝 지점에 레이블 추가하기
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')
입력 인수
x
— 세로 축 좌표
스칼라 | 벡터 | 행렬 | string형 배열 | 문자형 벡터로 구성된 셀형 배열
세로 축 좌표로, 스칼라, 벡터, 행렬, string형 배열 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다. x
의 값들은 순서대로 되어 있을 필요는 없지만, x
의 크기는 y
의 크기 및 데이터를 표시하려는 방법에 따라 달라집니다. 다음 표에서는 가장 일반적인 경우를 설명합니다.
표시 방법 | 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
— 막대 길이
스칼라 | 벡터 | 행렬
막대 길이로, 스칼라, 벡터 또는 행렬로 지정됩니다. 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
width
— 막대 두께
0.8
(디폴트 값) | 스칼라
막대 두께로, 각 막대의 사용 가능한 총 공간에 대한 비율로 지정됩니다. 디폴트 값인 0.8
은 각 막대가 이전 막대에서 다음 막대까지의 공간의 80%를 사용하며 막대 양쪽에 10%의 빈 공간이 있음을 의미합니다.
두께가 1
이면 그룹 내에서 막대가 서로 접하게 됩니다.
예: barh([1 2 3],0.5)
는 사용 가능한 공간의 50%를 사용하는 막대를 만듭니다.
style
— 그룹 스타일
'grouped'
(디폴트 값) | 'stacked'
| 'hist'
| 'histc'
그룹 스타일로, 다음 값 중 하나로 지정됩니다.
스타일 | 결과 | 예 |
---|---|---|
| 각 그룹을 |
|
| 각 그룹을 서로 다른 색으로 채색된 하나의 막대로 표시합니다. 막대 길이는 그룹 내 요소들의 합과 같습니다.
|
|
| 그룹 내의 막대가 서로 접해 있는 히스토그램 형식으로 막대를 표시합니다. 각 그룹의 뒤쪽 경계값이 대응하는 참고
|
|
| 막대를 히스토그램 형식으로 표시합니다. 각 그룹은 대응하는 참고
|
|
color
— 막대 색
색 이름 | 짧은 이름
막대 색으로, 다음 표에 나와 있는 옵션 중 하나로 지정됩니다.
색 이름 | 짧은 이름 | 모양 |
---|---|---|
'red' | 'r' | |
'green' | 'g' | |
'blue' | 'b' | |
'cyan' | 'c' | |
'magenta' | 'm' | |
'yellow' | 'y' | |
'black' | 'k' | |
'white' | 'w' | |
ax
— 대상 좌표축
Axes
객체
대상 좌표축으로, Axes
객체로 지정됩니다. 좌표축을 지정하지 않을 경우 막대 그래프는 현재 좌표축에 표시됩니다.
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오.
예: barh([10 20 30],'EdgeColor','g')
는 막대 주위에 녹색 윤곽선을 지정합니다.
참고
여기에 나와 있는 속성은 일부에 불과합니다. 전체 목록을 보려면 Bar 속성를 참조하십시오.
이러한 속성은 디폴트
'grouped'
또는'stacked'
스타일을 사용하는 막대 그래프에 대해서만 설정할 수 있습니다.
EdgeColor
— 윤곽선 색
'flat'
| RGB 3색 | 16진수 색 코드 | 'r'
| 'g'
| 'b'
| ...
윤곽선 색으로, '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';
FaceColor
— 채우기 색
'flat'
| RGB 3색 | 16진수 색 코드 | 'r'
| 'g'
| 'b'
| ...
채우기 색으로, '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';
LineWidth
— 막대 윤곽선 너비
0.5
(디폴트 값) | 양의 값
막대 윤곽선의 너비로, 양의 값으로 지정됩니다(단위: 포인트). 1포인트는 1/72인치와 같습니다.
예: 1.5
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
BaseValue
— 기준 값
0
(디폴트 값) | 스칼라 숫자형 값
기준 값으로, 스칼라 숫자형 값으로 지정됩니다.
지정하는 기준 값은 막대 차트 방향에 따라 x축 또는 y축에 적용됩니다. 막대 차트의 방향을 세로에서 가로로 변경하면 또는 그 반대의 경우 기준 값이 변경될 수 있습니다. Horizontal
속성을 설정한 후 BaseValue
속성을 설정하십시오.
출력 인수
b
— Bar
객체
Bar
객체
Bar
객체. b
의 요소를 사용하면 특정 Bar
객체가 생성된 후에 해당 객체의 속성에 액세스하여 수정할 수 있습니다. Bar
객체의 수는 y
의 크기에 따라 달라집니다. y
가 벡터이면 b
는 하나의 Bar
객체입니다. y
가 행렬이면 b
는 y
의 각 계열에 대한 Bar
객체를 포함하는 벡터입니다.
세부 정보
막대 계열
하나의 계열은 X
데이터 세트의 각 데이터에 해당하는 위치마다 배치된 막대들로 이루어집니다. 기본적으로 각 막대 계열은 서로 다른 색으로 표시됩니다.
막대 그룹
하나의 그룹은 X
의 특정 위치에 함께 배치된 막대들로 이루어집니다.
확장 기능
GPU 배열
Parallel Computing Toolbox™를 사용해 GPU(그래픽스 처리 장치)에서 실행하여 코드 실행 속도를 높일 수 있습니다.
사용법 관련 참고 및 제한 사항:
이 함수는 GPU 배열을 받지만 GPU에서 실행되지는 않습니다.
자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
분산 배열
Parallel Computing Toolbox™를 사용하여 대규모 배열을 클러스터의 결합된 메모리에 걸쳐 분할할 수 있습니다.
사용법 관련 참고 및 제한 사항:
이 함수는 분산 배열에 대해 연산을 수행하지만 클라이언트 측의 MATLAB에서 실행됩니다.
자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨R2023b: 막대 레이블을 string형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 지정할 수 있음
가로 막대 차트를 만들 때 막대 레이블을 string형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 지정할 수 있습니다. 막대 눈금 레이블은 지정한 순서로 표시됩니다.
참고 항목
함수
속성
외부 웹사이트
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)