이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
histogram
히스토그램 플롯
설명
히스토그램은 데이터를 Bin으로 그룹화하는 막대 플롯의 한 유형입니다. Histogram
객체를 생성한 후 해당 속성값을 변경하여 히스토그램의 여러 특성을 수정할 수 있습니다. 이는 Bin의 속성을 빠르게 수정하거나 화면표시를 빠르게 변경하려는 경우 특히 유용합니다.
생성
구문
설명
histogram(
는 X
)X
의 히스토그램 플롯을 생성합니다. histogram
함수는 자동 비닝(Binning) 알고리즘을 사용합니다. 이 알고리즘은 X
에 있는 요소의 범위를 포괄하고 분포의 기본 형태를 표시하도록 선택된, 균일한 너비의 Bin을 반환합니다. histogram
은 Bin을 사각형 막대로 표시하고, 각 사각형의 높이는 Bin의 요소 개수를 나타냅니다.
histogram(
는 C
,Categories
)C
의 범주의 서브셋만 플로팅합니다.
histogram('Categories',
는 범주와, 이 범주에 연결된 Bin 도수를 수동으로 지정합니다. Categories
,'BinCounts',counts
)histogram
은 지정된 Bin 도수를 플로팅하고 데이터 비닝(Binning)은 수행하지 않습니다.
histogram(___,
는 위에 열거된 구문에서 하나 이상의 이름-값 인수를 사용하여 추가적인 파라미터를 지정합니다. 예를 들어, 다른 유형의 정규화를 사용하려면 Name,Value
)Normalization
을 지정합니다. 속성 목록은 Histogram 속성을 참조하십시오.
histogram(
는 현재 좌표축(ax
,___)gca
) 대신 지정된 좌표축에 플로팅합니다. ax
는 위에 열거된 구문의 입력 인수 조합보다 먼저 나올 수 있습니다.
은 h
= histogram(___)Histogram
객체를 반환합니다. 이 함수를 사용하면 histogram의 속성을 검사하고 조정할 수 있습니다. 속성 목록은 Histogram 속성을 참조하십시오.
입력 인수
X
— Bin 사이에 분포시킬 데이터
벡터 | 행렬 | 다차원 배열
Bin 사이에 분포시킬 데이터로, 벡터, 행렬, 다차원 배열 중 하나로 지정됩니다. histogram
은 행렬 데이터와 다차원 배열 데이터를 단일 열 벡터 X(:)
로 처리하고 단일 히스토그램을 플로팅합니다.
histogram
은 모든 NaN
값과 NaT
값을 무시합니다. 마찬가지로, Bin 경계값이 Inf
또는 -Inf
를 명시적으로 Bin 경계값으로 지정하지 않는 한 histogram
은 Inf
값과 -Inf
값을 무시합니다. NaN
값, NaT
값, Inf
값, -Inf
값은 일반적으로 플로팅되지 않지만, 'probability'
와 같이 데이터 요소의 총 개수를 포함하는 정규화 계산에는 포함됩니다.
참고
X
에 flintmax
보다 큰 int64
형 또는 uint64
형의 정수가 포함된 경우 히스토그램 Bin 경계값을 명시적으로 지정하는 것이 좋습니다. histogram
은 배정밀도를 사용하여 입력 데이터를 자동으로 비닝하며, 배정밀도는 flintmax
보다 큰 숫자에 대해 정수 정밀도가 없습니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| datetime
| duration
C
— categorical형 데이터
categorical형 배열
categorical형 데이터로, categorical형 배열로 지정됩니다. histogram
은 정의되지 않은 categorical형 값을 플로팅하지 않습니다. 단, 'probability'
와 같이 데이터 요소의 총 개수를 포함하는 정규화 계산에는 정의되지 않은 categorical형 값도 포함됩니다.
데이터형: categorical
nbins
— Bin 개수
양의 정수
Bin 개수로, 양의 정수로 지정됩니다. nbins
를 지정하지 않으면 histogram
이 X
의 값을 기준으로 Bin 개수를 결정합니다.
nbins
를 BinMethod
, BinWidth
또는 BinEdges
와 함께 지정할 경우 histogram
함수는 마지막 파라미터만 적용합니다.
예: histogram(X,15)
는 15개의 Bin을 가지는 히스토그램을 생성합니다.
edges
— Bin 경계값
벡터
Bin 경계값으로, 벡터로 지정됩니다. edges(1)
은 첫 번째 Bin의 앞쪽 경계값이고 edges(end)
는 마지막 Bin의 뒤쪽 경계값입니다.
각 Bin은 앞쪽 경계값만 포함하고 뒤쪽 경계값은 포함하지 않으며, 예외적으로 마지막 Bin만 양쪽 경계값을 둘 다 포함합니다.
datetime
형 데이터와 duration
형 데이터의 경우, edges
는 단조 증가하는 순서의 datetime
형 벡터 또는 duration
형 벡터여야 합니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| datetime
| duration
Categories
— 히스토그램에 포함되는 범주
문자형 벡터로 구성된 셀형 배열 | categorical형 배열 | string형 배열 | pattern
형 스칼라
참고
이 옵션은 범주 히스토그램에만 적용됩니다.
히스토그램에 포함되는 범주로, 문자형 벡터로 구성된 셀형 배열, categorical형 배열, string형 배열 또는 pattern
형 스칼라로 지정됩니다.
입력 categorical형 배열
C
를 지정할 경우histogram
은 기본적으로C
의 각 범주에 대해 막대를 플로팅합니다. 이 경우 범주의 고유한 서브셋을 대신 지정하려면Categories
를 사용하십시오.Bin 도수를 지정하면
Categories
가 히스토그램에 대해 연결된 범주 이름을 지정합니다.
예: h = histogram(C,{'Large','Small'})
은 범주 'Large'
와 'Small'
의 categorical형 데이터만 플로팅합니다.
예: histogram(C,"Y" + wildcardPattern)
은 범주에서 이름이 문자 Y
로 시작하는 데이터를 플로팅합니다.
예: histogram('Categories',{'Yes','No','Maybe'},'BinCounts',[22 18 3])
은 연결된 Bin 도수가 있는 세 개의 범주를 가진 히스토그램을 플로팅합니다.
예: h.Categories
는 히스토그램 객체 h
에 있는 범주를 쿼리합니다.
데이터형: cell
| categorical
| string
| pattern
counts
— Bin 도수
벡터
Bin 도수로, 벡터로 지정됩니다. Bin 도수 계산이 개별적으로 수행되고 histogram
이 데이터 비닝(Binning)을 수행하지 않도록 하려면 이 입력값을 사용하여 Bin 도수를 histogram
에 전달하십시오.
counts
의 크기는 Bin의 개수와 같아야 합니다.
숫자형 히스토그램의 경우, Bin 개수는
length(edges)-1
입니다.범주 히스토그램의 경우, Bin 개수는 범주 개수와 동일합니다.
예: histogram('BinEdges',-2:2,'BinCounts',[5 8 15 9])
예: histogram('Categories',{'Yes','No','Maybe'},'BinCounts',[22 18 3])
ax
— 대상 좌표축
Axes
객체 | PolarAxes
객체
대상 좌표축으로, Axes
객체 또는 PolarAxes
객체로 지정됩니다. 좌표축을 지정하지 않을 경우 현재 좌표축이 카테시안 좌표축(Cartesian Axes)이면 histogram
함수는 현재 좌표축(gca
)을 사용합니다. 극좌표 좌표축에 플로팅하려면 PolarAxes
객체를 첫 번째 입력 인수로 지정하거나 polarhistogram
함수를 사용하십시오.
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
예: histogram(X,BinWidth=5)
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오.
예: histogram(X,'BinWidth',5)
참고
여기에 나와 있는 속성은 일부에 불과합니다. 전체 목록을 보려면 Histogram 속성을 참조하십시오.
BinWidth
— Bin 너비
양의 스칼라
Bin 너비로, 양의 스칼라로 지정됩니다. BinWidth
를 지정할 경우 Histogram
함수는 최대 65,536개(즉, 216)의 Bin을 사용할 수 있습니다. 지정된 Bin 너비에 더 많은 Bin이 필요할 경우 histogram
함수는 최대 Bin 개수에 해당하는 더 큰 Bin 너비를 사용합니다.
datetime
형 데이터와duration
형 데이터의 경우,BinWidth
는 duration형 스칼라 또는 calendarDuration형 스칼라일 수 있습니다.BinWidth
를BinMethod
,NumBins
또는BinEdges
와 함께 지정할 경우histogram
함수는 마지막 파라미터만 적용합니다.이 옵션은 categorical형 데이터에 적용되지 않습니다.
예:
는 너비가 5인 Bin을 사용합니다.histogram
(X,'BinWidth',5)
BinLimits
— Bin 제한
요소를 2개 가진 벡터
Bin 제한으로, 요소를 2개 가진 벡터 [bmin,bmax]
로 지정됩니다. 첫 번째 요소는 첫 번째 Bin 경계값을 나타냅니다. 두 번째 요소는 마지막 Bin 경계값을 나타냅니다.
이 옵션은 Bin 제한 값(X>=bmin & X<=bmax
) 내에 있는 데이터만 사용하여 계산합니다.
이 옵션은 categorical형 데이터에 적용되지 않습니다.
예:
은 histogram
(X,'BinLimits',[1,10])1
과 10
(구간의 끝점 포함) 사이에 있는 X
의 값만 비닝합니다.
BinLimitsMode
— Bin 제한 선택 모드
'auto'
(디폴트 값) | 'manual'
Bin 제한의 선택 모드로, 'auto'
또는 'manual'
로 지정됩니다. 디폴트 값은 'auto'
입니다. 이 경우 Bin 제한이 데이터에 맞게 자동으로 조정됩니다.
BinLimits
또는BinEdges
를 지정하면BinLimitsMode
가'manual'
로 설정됩니다. Bin 제한을 데이터에 맞게 다시 스케일링하려면BinLimitsMode
를'auto'
로 지정하십시오.categorical형 데이터의 히스토그램에는 이 옵션이 적용되지 않습니다.
BinMethod
— 비닝(Binning) 알고리즘
'auto'
(디폴트 값) | 'scott'
| 'fd'
| 'integers'
| 'sturges'
| 'sqrt'
| ...
비닝 알고리즘으로, 다음 표에 있는 값 중 하나로 지정됩니다.
값 | 설명 |
---|---|
| 디폴트 |
| 스콧의 법칙(Scott's Rule)은 데이터가 정규분포에 가까운 경우 가장 적합합니다. 이 법칙은 대부분의 다른 분포에도 적합합니다. 이 법칙은 Bin 너비로 |
| 프리드만-다이아코니스 법칙(Freedman-Diaconis Rule)은 데이터의 이상값에 덜 민감하며, 두꺼운 꼬리 분포의 데이터에 더 적합할 수 있습니다. 이 법칙은 Bin 너비로 |
| 정수 규칙은 각 정수에 대해 Bin을 생성하므로 정수 데이터에 유용합니다. 이 규칙은 Bin 너비로 1을 사용하며, 정수 사이의 중간 위치에 Bin 경계값을 배치합니다. 잘못하여 너무 많은 Bin을 생성하지 않으려면 이 규칙을 사용하여 65536개의 Bin 제한(216)을 생성할 수 있습니다. 데이터 범위가 65536보다 큰 경우 정수 규칙은 대신 더 넓은 Bin을 사용합니다.
|
| 스터지스의 법칙(Sturges' Rule)은 간단하기 때문에 많이 사용됩니다. 이 법칙은 Bin 개수를 |
| 제곱근 규칙은 타 소프트웨어 패키지에서 널리 사용됩니다. 이 법칙은 Bin 개수를 |
histogram
함수는 이러한 식을 정확히 그대로 사용하는 대신 Bin 경계값이 "적절한" 숫자가 되도록 Bin 개수를 약간 조정합니다.
datetime
형 데이터나 duration
형 데이터의 경우, Bin 너비를 다음 시간 단위 중 하나로 지정하십시오.
값 | 설명 | 데이터형 |
---|---|---|
"second" | 각 Bin은 1초입니다. | datetime 및 duration |
"minute" | 각 Bin은 1분입니다. | datetime 및 duration |
"hour" | 각 Bin은 1시간입니다. | datetime 및 duration |
"day" | 각 Bin은 달력상의 1일입니다. 이 값은 일광 절약 시간제 변동을 고려합니다. | datetime 및 duration |
"week" | 각 Bin은 달력상의 1주일입니다. | datetime 만 |
"month" | 각 Bin은 달력상의 1개월입니다. | datetime 만 |
"quarter" | 각 Bin은 달력상의 1사분기입니다. | datetime 만 |
"year" | 각 Bin은 달력상의 1년입니다. 이 값은 윤일을 고려합니다. | datetime 및 duration |
"decade" | 각 Bin은 10년(달력상의 10년)입니다. | datetime 만 |
"century" | 각 Bin은 1세기(달력상의 100년)입니다. | datetime 만 |
datetime
형 데이터나duration
형 데이터에 대해BinMethod
를 지정할 경우histogram
함수는 최대 65,536개(즉, 216)의 Bin을 사용할 수 있습니다. 지정된 Bin 기간에 더 많은 Bin이 필요할 경우histogram
함수는 최대 Bin 개수에 해당하는 더 큰 Bin 너비를 사용합니다.BinLimits
,NumBins
,BinEdges
또는BinWidth
를 지정하면BinMethod
가'manual'
로 설정됩니다.BinMethod
를BinWidth
,NumBins
또는BinEdges
와 함께 지정할 경우histogram
함수는 마지막 파라미터만 적용합니다.이 옵션은 categorical형 데이터에 적용되지 않습니다.
예:
는 Bin을 정수의 중앙에 맞춥니다.histogram
(X,'BinMethod','integers')
DisplayOrder
— 범주 표시 순서
'data'
(디폴트 값) | 'ascend'
| 'descend'
범주 표시 순서로, 'data'
, 'ascend'
또는 'descend'
로 지정됩니다.
'data'
— 입력 데이터C
의 범주 순서를 사용합니다.'ascend'
— 히스토그램을 증가하는 막대 높이로 표시합니다.'descend'
— 히스토그램을 감소하는 막대 높이로 표시합니다.
이 옵션은 Categorical형 데이터에만 적용됩니다.
NumDisplayBins
— 표시할 범주의 개수
스칼라
표시할 범주의 개수로, 스칼라로 지정됩니다. 'DisplayOrder'
옵션을 사용하여 히스토그램에 표시되는 범주의 순서를 변경할 수 있습니다.
이 옵션은 Categorical형 데이터에만 적용됩니다.
ShowOthers
— 표시되지 않는 범주에 속한 데이터의 요약을 표시할지 여부
'off'
(디폴트 값) | on/off 논리값
표시되지 않는 범주에 속한 데이터의 요약을 표시할지 여부로, 'on'
또는 'off'
나 숫자형 값 또는 논리값 1
(true
) 또는 0
(false
)으로 지정됩니다. 값 'on'
은 true
와 동일하고 값 'off'
는 false
와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState
유형의 on/off 논리값으로 저장됩니다.
히스토그램에 이름이
'Others'
인 막대를 추가로 표시하려면 이 옵션을'on'
으로 설정하십시오. 이 추가 막대는 히스토그램에 표시되는 범주에 속하지 않는 모든 요소의 개수를 나타냅니다.'NumDisplayBins'
옵션과'DisplayOrder'
옵션을 사용하여 히스토그램에 표시되는 범주의 개수와 순서를 변경할 수 있습니다.이 옵션은 Categorical형 데이터에만 적용됩니다.
Normalization
— 정규화 유형
'count'
(디폴트 값) | 'probability'
| 'percentage'
| 'countdensity'
| 'cumcount'
| 'pdf'
| 'cdf'
정규화 유형으로, 다음 표에 있는 값 중 하나로 지정됩니다. i
는 Bin이며, i에 대해 다음과 같습니다.
는 Bin의 값입니다.
는 Bin의 요소 개수입니다.
는 Bin의 너비입니다.
은 입력 데이터의 요소 개수입니다. 데이터에 누락값(예:
NaN
)이 포함되어 있거나 데이터의 일부가 Bin 제한을 벗어나는 경우 이 값은 비닝(Binning)된 데이터보다 클 수 있습니다.
값 | Bin 값 | 참고 |
---|---|---|
'count' (디폴트 값) |
|
|
'probability' |
|
|
'percentage' |
|
|
'countdensity' |
|
|
'cumcount' |
|
|
'pdf' |
|
|
'cdf' |
|
|
예:
는 확률 밀도 함수의 추정값을 사용하여 데이터를 비닝합니다.histogram
(X,'Normalization','pdf')
DisplayStyle
— 히스토그램 표시 스타일
'bar'
(디폴트 값) | 'stairs'
히스토그램 표시 스타일로, 'bar'
또는 'stairs'
로 지정됩니다.
'bar'
—A
의 각 윈도우에 대한 히스토그램 막대 플롯을 표시합니다. 이 방법은 데이터에서 주기적 추세를 줄이는 데 유용합니다.'stairs'
— 내부를 채우지 않고 히스토그램의 윤곽선을 표시하는 계단 플롯을 표시합니다.
예: histogram(X,'DisplayStyle','stairs')
는 히스토그램의 윤곽선을 플로팅합니다.
Orientation
— 막대의 방향
'vertical'
(디폴트 값) | 'horizontal'
막대의 방향으로, 'vertical'
또는 'horizontal'
로 지정됩니다.
예: histogram(X,'Orientation','horizontal')
은 가로 막대로 히스토그램 플롯을 생성합니다.
BarWidth
— 범주 막대의 상대적인 너비
0.9
(디폴트 값) | [0,1]
범위의 스칼라
범주 막대의 상대적인 너비로, 범위 [0,1]
사이의 스칼라 값으로 지정됩니다. 이 속성을 사용하여 히스토그램 내에서 범주 막대 간 구분 방법을 제어할 수 있습니다. 디폴트 값인 0.9
는 막대 너비가 이전 막대에서 다음 막대까지 거리의 90%이며 그 거리의 5% 간격이 막대 양쪽에 존재함을 의미합니다.
BarWidth
가 1
이면 인접해 있는 막대가 서로 닿습니다.
이 옵션은 Categorical형 데이터에만 적용됩니다.
예: 0.5
FaceColor
— 히스토그램 막대 색
'auto'
(디폴트 값) | 'none'
| RGB 3색 | 16진수 색 코드 | 색 이름
히스토그램 막대 색으로, 다음 값 중 하나로 지정됩니다.
'none'
— 막대가 채워지지 않습니다.'auto'
— 히스토그램 막대 색이 자동으로 선택됩니다(디폴트 값).RGB 3색, 16 진수 색 코드 또는 색 이름 — 막대가 지정된 색으로 채워집니다.
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"
다음은 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"
DisplayStyle
을 'stairs'
로 지정할 경우 histogram
함수는 FaceColor
속성을 사용하지 않습니다.
예:
는 막대가 녹색인 히스토그램 플롯을 생성합니다.histogram
(X,'FaceColor','g')
EdgeColor
— 히스토그램 가장자리 색
[0 0 0]
또는 검은색 (디폴트 값) | 'none'
| 'auto'
| RGB 3색 | 16진수 색 코드 | 색 이름
히스토그램 가장자리 색으로, 다음 값 중 하나로 지정됩니다.
'none'
— 가장자리가 그려지지 않습니다.'auto'
— 각 가장자리의 색이 자동으로 선택됩니다.RGB 3색, 16진수 색 코드 또는 색 이름 — 지정된 색이 간선에 사용됩니다.
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"
다음은 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"
예:
은 막대 가장자리가 빨간색인 히스토그램 플롯을 생성합니다.histogram
(X,'EdgeColor','r')
FaceAlpha
— 히스토그램 막대의 투명도
0.6
(디폴트 값) | [0,1]
범위의 스칼라 값
히스토그램 막대의 투명도로, [0,1]
범위의 스칼라 값으로 지정됩니다. histogram
함수는 히스토그램의 모든 막대에 동일한 투명도를 사용합니다. 값이 1
이면 완전히 불투명함을 의미하고 0
이면 완전히 투명함(보이지 않음)을 의미합니다.
예:
은 막대가 완전히 불투명한 히스토그램 플롯을 생성합니다.histogram
(X,'FaceAlpha',1)
EdgeAlpha
— 히스토그램 막대 가장자리의 투명도
1
(디폴트 값) | [0,1]
범위의 스칼라
히스토그램 막대 가장자리의 투명도로, [0,1]
범위의 스칼라 값으로 지정됩니다. 값이 1
이면 완전히 불투명함을 의미하고 0
이면 완전히 투명함(보이지 않음)을 의미합니다.
예:
는 막대 가장자리가 반투명인 히스토그램 플롯을 생성합니다.histogram
(X,'EdgeAlpha',0.5)
LineStyle
— 선 스타일
"-"
(디폴트 값) | "--"
| ":"
| "-."
| "none"
선 스타일로, 다음 표에 나열된 옵션 중 하나로 지정됩니다.
선 스타일 | 설명 | 결과 선 |
---|---|---|
"-" | 실선 |
|
"--" | 파선 |
|
":" | 점선 |
|
"-." | 일점 쇄선 |
|
"none" | 선 없음 | 선 없음 |
LineWidth
— 막대 윤곽선 너비
0.5
(디폴트 값) | 양의 값
막대 윤곽선의 너비로, 양의 값으로 지정됩니다(단위: 포인트). 1포인트는 1/72인치와 같습니다.
예: 1.5
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
출력 인수
h
— 히스토그램
객체
히스토그램으로, 객체로 반환됩니다. 자세한 내용은 Histogram 속성을 참조하십시오.
속성
Histogram 속성 | 히스토그램의 모양과 동작 |
예제
벡터의 히스토그램
10,000개의 난수를 생성하고 히스토그램을 만듭니다. histogram
함수는 x
의 값 범위를 포괄하고 기본 분포의 형태를 표시하는 데 적합한 Bin 개수를 자동으로 선택합니다.
x = randn(10000,1); h = histogram(x)
h = Histogram with properties: Data: [10000x1 double] Values: [2 2 1 6 7 17 29 57 86 133 193 271 331 421 540 613 730 748 776 806 824 721 623 503 446 326 234 191 132 78 65 33 26 11 8 5 5] NumBins: 37 BinEdges: [-3.8000 -3.6000 -3.4000 -3.2000 -3 -2.8000 -2.6000 -2.4000 -2.2000 -2 -1.8000 -1.6000 -1.4000 -1.2000 -1 -0.8000 -0.6000 -0.4000 -0.2000 0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 1.8000 2.0000 2.2000 ... ] (1x38 double) BinWidth: 0.2000 BinLimits: [-3.8000 3.6000] Normalization: 'count' FaceColor: 'auto' EdgeColor: [0 0 0] Use GET to show all properties
histogram
함수에 대한 출력 인수를 지정하면 이 함수는 histogram 객체를 반환합니다. 이 객체를 사용하여 Bin 개수나 Bin 너비 등의 histogram 속성을 검사할 수 있습니다.
히스토그램 Bin의 개수를 구합니다.
nbins = h.NumBins
nbins = 37
히스토그램 Bin의 개수 지정
1,000개의 난수가 균일한 간격의 25개 Bin으로 분류된 히스토그램을 플로팅합니다.
x = randn(1000,1); nbins = 25; h = histogram(x,nbins)
h = Histogram with properties: Data: [1000x1 double] Values: [1 3 0 6 14 19 31 54 74 80 92 122 104 115 88 80 38 32 21 9 5 5 5 0 2] NumBins: 25 BinEdges: [-3.4000 -3.1200 -2.8400 -2.5600 -2.2800 -2 -1.7200 -1.4400 -1.1600 -0.8800 -0.6000 -0.3200 -0.0400 0.2400 0.5200 0.8000 1.0800 1.3600 1.6400 1.9200 2.2000 2.4800 2.7600 3.0400 3.3200 3.6000] BinWidth: 0.2800 BinLimits: [-3.4000 3.6000] Normalization: 'count' FaceColor: 'auto' EdgeColor: [0 0 0] Use GET to show all properties
Bin 도수를 구합니다.
counts = h.Values
counts = 1×25
1 3 0 6 14 19 31 54 74 80 92 122 104 115 88 80 38 32 21 9 5 5 5 0 2
히스토그램 Bin의 개수 변경
1,000개의 난수를 생성하고 히스토그램을 만듭니다.
X = randn(1000,1); h = histogram(X)
h = Histogram with properties: Data: [1000x1 double] Values: [3 1 2 15 17 27 53 79 85 101 127 110 124 95 67 32 27 16 6 6 4 1 2] NumBins: 23 BinEdges: [-3.3000 -3.0000 -2.7000 -2.4000 -2.1000 -1.8000 -1.5000 -1.2000 -0.9000 -0.6000 -0.3000 0 0.3000 0.6000 0.9000 1.2000 1.5000 1.8000 2.1000 2.4000 2.7000 3 3.3000 3.6000] BinWidth: 0.3000 BinLimits: [-3.3000 3.6000] Normalization: 'count' FaceColor: 'auto' EdgeColor: [0 0 0] Use GET to show all properties
morebins
함수를 사용하여 Bin 개수를 성기게 조정합니다.
Nbins = morebins(h); Nbins = morebins(h)
Nbins = 29
Bin 개수를 명시적으로 설정하여 Bin을 정교하게 조정합니다.
h.NumBins = 31;
히스토그램의 Bin 경계값 지정
1,000개의 난수를 생성하고 히스토그램을 만듭니다. 히스토그램 경계에 넓은 Bin을 갖는 Bin 경계값으로 구성된 벡터를 지정하여 를 충족하지 않는 이상값을 캡처합니다. 벡터의 첫 번째 요소는 첫 번째 Bin의 왼쪽 경계값이고, 벡터의 마지막 요소는 마지막 Bin의 오른쪽 경계값입니다.
x = randn(1000,1); edges = [-10 -2:0.25:2 10]; h = histogram(x,edges);
Normalization
속성을 'countdensity'
로 지정하여 이상값을 포함하는 Bin을 평탄화합니다. 이제, 각 Bin의 (높이가 아닌) 면적은 해당 구간에서의 관측값 빈도를 나타냅니다.
h.Normalization = 'countdensity';
범주 히스토그램 플로팅하기
투표 항목을 나타내는 categorical형 벡터를 생성합니다. 벡터의 범주는 'yes'
, 'no'
, 'undecided'
입니다.
A = [0 0 1 1 1 0 0 0 0 NaN NaN 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 1]; C = categorical(A,[1 0 NaN],{'yes','no','undecided'})
C = 1x27 categorical
no no yes yes yes no no no no undecided undecided yes no no no yes no yes no yes no no no yes yes yes yes
상대적인 막대 너비로 0.5
를 사용하여 투표에 대한 범주 히스토그램을 플로팅합니다.
h = histogram(C,'BarWidth',0.5)
h = Histogram with properties: Data: [no no yes yes yes no no no no undecided undecided yes no no no yes no yes no yes no no no yes yes yes yes] Values: [11 14 2] NumDisplayBins: 3 Categories: {'yes' 'no' 'undecided'} DisplayOrder: 'data' Normalization: 'count' DisplayStyle: 'bar' FaceColor: 'auto' EdgeColor: [0 0 0] Use GET to show all properties
지정된 정규화를 사용한 히스토그램
1,000개의 난수를 생성하고 'probability'
정규화를 사용하여 히스토그램을 만듭니다.
x = randn(1000,1); h = histogram(x,'Normalization','probability')
h = Histogram with properties: Data: [1000x1 double] Values: [0.0030 1.0000e-03 0.0020 0.0150 0.0170 0.0270 0.0530 0.0790 0.0850 0.1010 0.1270 0.1100 0.1240 0.0950 0.0670 0.0320 0.0270 0.0160 0.0060 0.0060 0.0040 1.0000e-03 0.0020] NumBins: 23 BinEdges: [-3.3000 -3.0000 -2.7000 -2.4000 -2.1000 -1.8000 -1.5000 -1.2000 -0.9000 -0.6000 -0.3000 0 0.3000 0.6000 0.9000 1.2000 1.5000 1.8000 2.1000 2.4000 2.7000 3 3.3000 3.6000] BinWidth: 0.3000 BinLimits: [-3.3000 3.6000] Normalization: 'probability' FaceColor: 'auto' EdgeColor: [0 0 0] Use GET to show all properties
모든 막대의 높이의 합을 계산합니다. 이 정규화를 사용할 경우 각 막대의 높이는 해당 Bin 구간 내에서 관측값을 선택할 확률과 동일하며, 모든 막대 높이의 합은 1입니다.
S = sum(h.Values)
S = 1
백분율을 사용한 히스토그램
100,000개의 정규분포된 난수를 생성합니다. 표준편차 15, 평균 100을 사용합니다.
x = 100 + 15*randn(1e5,1);
난수의 히스토그램을 플로팅합니다. y축을 백분율로 스케일링하고 레이블을 지정합니다.
edges = 55:15:145; histogram(x,edges,Normalization="percentage") ytickformat("percentage")
여러 히스토그램 플로팅
두 개의 난수 벡터를 생성하고 동일한 Figure에 각 벡터의 히스토그램을 플로팅합니다.
x = randn(2000,1);
y = 1 + randn(5000,1);
h1 = histogram(x);
hold on
h2 = histogram(y);
각 히스토그램의 샘플 크기와 Bin 너비가 다르기 때문에 이 두 히스토그램을 비교하기는 어렵습니다. 모든 막대 높이의 합이 1이 되도록 히스토그램을 정규화하고, 균일한 Bin 너비를 사용합니다.
h1.Normalization = 'probability'; h1.BinWidth = 0.25; h2.Normalization = 'probability'; h2.BinWidth = 0.25;
히스토그램 속성 조정
1,000개의 난수를 생성하고 히스토그램을 만듭니다. histogram 객체를 반환하여, 전체 플롯을 다시 생성하지 않고 histogram의 속성을 조정합니다.
x = randn(1000,1); h = histogram(x)
h = Histogram with properties: Data: [1000×1 double] Values: [3 1 2 15 17 27 53 79 85 101 127 110 124 95 67 32 27 16 6 6 4 1 2] NumBins: 23 BinEdges: [-3.3000 -3.0000 -2.7000 -2.4000 -2.1000 -1.8000 -1.5000 -1.2000 -0.9000 -0.6000 -0.3000 0 0.3000 0.6000 0.9000 1.2000 1.5000 1.8000 2.1000 2.4000 2.7000 3 3.3000 3.6000] BinWidth: 0.3000 BinLimits: [-3.3000 3.6000] Normalization: 'count' FaceColor: 'auto' EdgeColor: [0 0 0] Show all properties
사용할 Bin 개수를 정확하게 지정합니다.
h.NumBins = 15;
벡터를 사용하여 Bin의 경계값을 지정합니다. 벡터의 첫 번째 값은 첫 번째 Bin의 왼쪽 경계값입니다. 마지막 값은 마지막 Bin의 오른쪽 경계값입니다.
h.BinEdges = [-3:3];
히스토그램 막대의 색을 변경합니다.
h.FaceColor = [0 0.5 0.5];
h.EdgeColor = 'r';
기본 확률 분포 확인
평균이 5이고 표준편차가 2인 5,000개의 정규분포된 난수를 생성합니다. Normalization
이 'pdf'
로 설정된 히스토그램을 플로팅하여 확률 밀도 함수의 추정값을 산출합니다.
x = 2*randn(5000,1) + 5; histogram(x,'Normalization','pdf')
이 예제에서는 정규분포된 데이터의 기본 분포를 알 수 있습니다. 하지만 'pdf'
히스토그램 플롯을 사용하여 데이터의 기본 확률 분포를 알려진 확률 밀도 함수와 비교하여 확인할 수 있습니다.
평균이 이고, 표준편차가 이며, 분산이 인 정규분포의 확률 밀도 함수는 다음과 같습니다.
평균이 5이고 표준편차가 2인 정규분포에 대한 확률 밀도 함수의 플롯을 겹쳐 놓습니다.
hold on y = -5:0.1:15; mu = 5; sigma = 2; f = exp(-(y-mu).^2./(2*sigma^2))./(sigma*sqrt(2*pi)); plot(y,f,'LineWidth',1.5)
히스토그램 객체 저장 및 불러오기
savefig
함수를 사용하여 histogram
Figure를 저장합니다.
histogram(randn(10)); savefig('histogram.fig'); close gcf
openfig
를 사용하여 히스토그램 Figure를 다시 MATLAB®으로 불러옵니다. openfig
는 또한 Figure에 대한 핸들 h
를 반환합니다.
h = openfig('histogram.fig');
findobj
함수를 사용하여 Figure 핸들에서 올바른 객체 핸들을 찾습니다. 이로서 Figure를 생성하는 데 사용된 원래 히스토그램 객체를 계속 조작할 수 있습니다.
y = findobj(h,'type','histogram')
y = Histogram with properties: Data: [10x10 double] Values: [2 17 28 32 16 3 2] NumBins: 7 BinEdges: [-3 -2 -1 0 1 2 3 4] BinWidth: 1 BinLimits: [-3 4] Normalization: 'count' FaceColor: 'auto' EdgeColor: [0 0 0] Use GET to show all properties
팁
histogram
을 사용하여 생성된 히스토그램 플롯의 경우 플롯 편집 모드에서 상황별 메뉴가 제공됩니다. 이 메뉴를 통해 Figure 창에서 대화형 방식으로 조작을 수행할 수 있습니다. 예를 들어, 상황별 메뉴를 사용하여 대화형 방식으로 Bin의 개수를 변경하거나, 여러 히스토그램을 정렬하거나, 디스플레이 순서를 변경할 수 있습니다.히스토그램 플롯에 데이터팁을 추가하면 Bin 경계값과 Bin 도수가 표시됩니다.
확장 기능
tall형 배열
메모리에 담을 수 없을 정도로 많은 행을 가진 배열을 계산할 수 있습니다.
이 함수는 tall형 배열을 지원하지만 다음과 같은 제한 사항이 있습니다.
일부 입력 옵션이 지원되지 않습니다. 허용되는 옵션은 다음과 같습니다.
'BinWidth'
'BinLimits'
'Normalization'
'DisplayStyle'
'BinMethod'
—'auto'
Bin 방법과'scott'
Bin 방법은 동일합니다.'fd'
Bin 방법은 지원되지 않습니다.'EdgeAlpha'
'EdgeColor'
'FaceAlpha'
'FaceColor'
'LineStyle'
'LineWidth'
'Orientation'
또한, 최대 막대 개수에 대한 한도가 있습니다. 디폴트 최댓값은 100입니다.
morebins
방법과fewerbins
방법은 지원되지 않습니다.Bin을 재계산해야 하는 histogram 객체의 속성은 편집할 수 없습니다.
자세한 내용은 메모리에 담을 수 없는 큰 데이터를 위한 tall형 배열 항목을 참조하십시오.
GPU 배열
Parallel Computing Toolbox™를 사용해 GPU(그래픽스 처리 장치)에서 실행하여 코드 실행 속도를 높일 수 있습니다.
사용법 관련 참고 및 제한 사항:
이 함수는 GPU 배열을 받지만 GPU에서 실행되지는 않습니다.
자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
분산 배열
Parallel Computing Toolbox™를 사용하여 대규모 배열을 클러스터의 결합된 메모리에 걸쳐 분할할 수 있습니다.
사용법 관련 참고 및 제한 사항:
이 함수는 분산 배열에 대해 연산을 수행하지만 클라이언트 측의 MATLAB에서 실행됩니다.
자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2014b에 개발됨R2023b: 백분율을 사용하여 정규화
Normalization
이름-값 인수를 'percentage'
로 설정하여 세로 축에 백분율이 표시된 히스토그램을 만들 수 있습니다.
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)