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

histogram2

이변량 히스토그램 플롯

설명

이변량 히스토그램은 데이터를 2차원 Bin으로 그룹화하는 숫자형 데이터의 막대 플롯 유형입니다. Histogram2 객체를 생성한 후 해당 속성값을 변경하여 히스토그램의 여러 특성을 수정할 수 있습니다. 이는 Bin의 속성을 빠르게 수정하거나 화면표시를 빠르게 변경하려는 경우 특히 유용합니다.

생성

구문

histogram2(X,Y)
histogram2(X,Y,nbins)
histogram2(X,Y,Xedges,Yedges)
histogram2('XBinEdges',Xedges,'YBinEdges',Yedges,'BinCounts',counts)
histogram2(___,Name,Value)
histogram2(ax,___)
h = histogram2(___)

설명

예제

histogram2(X,Y)XY에 대한 이변량 히스토그램 플롯을 생성합니다. histogram2 함수는 자동 비닝(Binning) 알고리즘을 사용합니다. 이 알고리즘은 XY에 있는 요소의 범위를 포괄하고 분포의 기본 형태를 표시하도록 선택된, 균일한 면적의 Bin을 반환합니다. histogram2는 3차원 사각형 막대로 Bin을 표시하고, 각 막대의 높이는 Bin의 요소 개수를 나타냅니다.

예제

histogram2(X,Y,nbins)는 히스토그램의 각 차원에서 사용할 Bin 개수를 지정합니다.

예제

histogram2(X,Y,Xedges,Yedges)는 벡터 XedgesYedges를 사용하여 각 차원의 Bin 경계값을 지정합니다.

histogram2('XBinEdges',Xedges,'YBinEdges',Yedges,'BinCounts',counts)는 Bin 도수를 수동으로 지정합니다. histogram2는 지정된 Bin 도수를 플로팅하고 데이터 비닝(Binning)은 수행하지 않습니다.

예제

histogram2(___,Name,Value)는 위에 열거된 구문에 Name,Value 쌍 인수를 하나 이상 추가 옵션으로 지정합니다. 예를 들어, 'BinWidth'와 요소를 2개 가진 벡터를 지정하여 각 차원의 Bin의 너비를 조정하거나, 'Normalization'을 유효한 옵션('count', 'probability', 'countdensity', 'pdf', 'cumcount', 'cdf' 중 하나)으로 지정하여 다른 유형의 정규화를 사용할 수 있습니다. 속성 목록은 Histogram2 속성를 참조하십시오.

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

예제

h = histogram2(___)Histogram2 객체를 반환합니다. 이 함수를 사용하면 이변량 히스토그램의 속성을 확인하고 조정할 수 있습니다. 속성 목록은 Histogram2 속성를 참조하십시오.

입력 인수

모두 확장

Bin 사이에 분포시킬 데이터로, 벡터, 행렬, 다차원 배열 중 한 가지 형식의 개별 인수로 지정됩니다. XY는 크기가 동일해야 합니다. XY가 벡터가 아닐 경우 histogram2는 단일 열 벡터 X(:)Y(:)로 이를 처리하고 단일 히스토그램을 플로팅합니다.

XY의 대응하는 요소는 2차원 데이터 점의 x, y 좌표 [X(k),Y(k)]를 지정합니다. XY의 데이터형은 서로 다를 수 있지만, histogram2는 이러한 입력값을 상위(Dominant) 데이터형의 단일 Nx2 행렬로 결합합니다.

histogram2는 모든 NaN 값을 무시합니다. 마찬가지로, Bin 경계값이 Inf 또는 -Inf를 명시적으로 Bin 경계값으로 지정하지 않는 한 histogram2Inf 값과 -Inf 값을 무시합니다. NaN 값, Inf 값, -Inf 값은 일반적으로 플로팅되지 않지만, 'probability'와 같이 데이터 요소의 총 개수를 포함하는 정규화 계산에는 포함됩니다.

참고

X 또는 Yflintmax보다 큰 int64형 또는 uint64형의 정수가 포함된 경우 히스토그램 Bin 경계값을 명시적으로 지정하는 것이 좋습니다. histogram2는 배정밀도를 사용하여 입력 데이터를 자동으로 비닝하며, 배정밀도는 flintmax보다 큰 숫자에 대해 정수 정밀도가 없습니다.

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

각 차원의 Bin 개수로, 양의 정수 스칼라 또는 양의 정수로 구성된 요소를 2개 가진 벡터로 지정됩니다. nbins를 지정하지 않으면 histogram2XY의 값을 기반으로 하여 사용할 Bin의 개수를 자동으로 계산합니다.

  • nbins가 스칼라이면 histogram2는 각 차원에 포함된 개수만큼의 Bin을 사용합니다.

  • nbins가 벡터이면 nbins(1)이 x 차원의 Bin 개수를 지정하고 nbins(2)가 y 차원의 Bin 개수를 지정합니다.

예: histogram2(X,Y,20)은 각 차원마다 20개의 Bin을 사용합니다.

예: histogram2(X,Y,[10 20])x 차원에서 10개의 Bin을 사용하고 y 차원에서 20개의 Bin을 사용합니다.

x 차원의 Bin 경계값으로, 벡터로 지정됩니다. Xedges(1)은 x 차원의 첫 번째 Bin에 대한 첫 번째 경계값이고, Xedges(end)는 마지막 Bin의 바깥쪽 경계값입니다.

Xedges(i)X(k) < Xedges(i+1) 그리고 Yedges(j)Y(k) < Yedges(j+1)인 경우 값 [X(k),Y(k)](i,j)번째 Bin에 있습니다. 각 차원의 마지막 Bin에는 마지막(바깥쪽) 경계값도 포함됩니다. 예를 들어, Xedges(end-1)X(k)Xedges(end) 그리고 Yedges(i)Y(k) < Yedges(i+1)인 경우 [X(k),Y(k)]는 마지막 행의 i번째 Bin에 포함됩니다.

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

y 차원의 Bin 경계값으로, 벡터로 지정됩니다. Yedges(1)은 y 차원의 첫 번째 Bin에 대한 첫 번째 경계값이고, Yedges(end)는 마지막 Bin의 바깥쪽 경계값입니다.

Xedges(i)X(k) < Xedges(i+1) 그리고 Yedges(j)Y(k) < Yedges(j+1)인 경우 값 [X(k),Y(k)](i,j)번째 Bin에 있습니다. 각 차원의 마지막 Bin에는 마지막(바깥쪽) 경계값도 포함됩니다. 예를 들어, Xedges(end-1)X(k)Xedges(end) 그리고 Yedges(i)Y(k) < Yedges(i+1)인 경우 [X(k),Y(k)]는 마지막 행의 i번째 Bin에 포함됩니다.

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

Bin 도수로, 행렬로 지정됩니다. Bin 도수 계산이 개별적으로 수행되고 histogram2가 데이터 비닝(Binning)을 수행하지 않도록 하려면 이 입력값을 사용하여 Bin 도수를 histogram2에 전달하십시오.

각 Bin에 대한 Bin 도수를 지정하려면 counts는 크기가 [length(XBinEdges)-1 length(YBinEdges)-1]인 행렬이어야 합니다.

예: histogram2('XBinEdges',-1:1,'YBinEdges',-2:2,'BinCounts',[1 2 3 4; 5 6 7 8])

axes 객체입니다. 좌표축을 지정하지 않을 경우 histogram2 함수는 현재 좌표축(gca)을 사용합니다.

이름-값 쌍의 인수

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

예: histogram2(X,Y,'BinWidth',[5 10])

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

비닝 알고리즘으로, 다음 표에 있는 값 중 하나로 지정됩니다.

설명
'auto'

디폴트 'auto' 알고리즘은 데이터 범위를 포괄하고 기본 분포의 형태를 표시할 수 있는 Bin 너비를 선택합니다.

'scott'

스콧의 법칙(Scott's Rule)은 데이터가 정규분포에 가까운 경우 가장 적합합니다. 이 법칙은 대부분의 다른 분포에도 적합합니다. 이 법칙은 Bin 크기로 [3.5*std(X(:))*numel(X)^(-1/4), 3.5*std(Y(:))*numel(Y)^(-1/4)]을 사용합니다.

'fd'

프리드만-다이아코니스 법칙(Freedman-Diaconis Rule)은 데이터의 이상값에 덜 민감하며, 두꺼운 꼬리 분포의 데이터에 더 적합할 수 있습니다. 이 법칙은 Bin 크기로 [2*IQR(X(:))*numel(X)^(-1/4), 2*IQR(Y(:))*numel(Y)^(-1/4)]를 사용합니다. 여기서 IQR은 사분위 범위입니다.

'integers'

정수 규칙은 정수 쌍의 중앙에 Bin을 생성하므로 정수 데이터에 유용합니다. 이 규칙은 각 차원에 대해 Bin 너비로 1을 사용하며, 정수 사이의 중간 위치에 Bin 경계값을 배치합니다.

잘못하여 너무 많은 Bin을 생성하지 않으려면 이 규칙을 사용하여 1024개의 Bin 제한(210)을 생성할 수 있습니다. 어느 한 차원이라도 데이터 범위가 1024보다 큰 경우 정수 규칙은 대신 더 넓은 Bin을 사용합니다.

참고

NumBins, XBinEdges, YBinEdges, BinWidth, BinLimits 속성 중 하나를 설정하면 BinMethod 속성이 'manual'로 설정됩니다.

예: histogram2(X,Y,'BinMethod','integers')는 Bin이 정수 쌍의 중앙에 있는 이변량 히스토그램을 생성합니다.

각 차원의 Bin 너비로, 양의 정수로 구성된 요소를 2개 가진 벡터 [xWidth yWidth]로 지정됩니다.

BinWidth를 지정할 경우 histogram2는 각 차원에 최대 1024개의 Bin(210)을 사용할 수 있습니다. 지정된 Bin 너비에 더 많은 Bin이 필요할 경우 histogram2는 최대 Bin 개수에 해당하는 더 큰 Bin 너비를 사용합니다.

예: histogram2(X,Y,'BinWidth',[5 10])x 차원의 크기가 5이고 y 차원의 크기가 10인 Bin을 사용합니다.

히스토그램 디스플레이 스타일로, 'bar3' 또는 'tile'로 지정됩니다. 'tile'을 지정하면 Bin 값을 색으로 표현한, 타일로 구성된 사각형 배열로 히스토그램을 표시할 수 있습니다.

'bar3'의 디폴트 값은 3차원 막대를 사용하여 히스토그램을 표시합니다.

예: histogram2(X,Y,'DisplayStyle','tile')은 타일로 구성된 사각형 배열로 히스토그램을 플로팅합니다.

히스토그램 막대 모서리의 투명도로, 01 사이의 스칼라 값(구간의 끝점 포함)으로 지정됩니다. 값이 1이면 완전히 불투명함을 의미하고 0이면 완전히 투명함(보이지 않음)을 의미합니다.

예: histogram2(X,Y,'EdgeAlpha',0.5)는 막대 모서리가 반투명인 이변량 히스토그램 플롯을 생성합니다.

히스토그램 모서리 색으로, 다음 값 중 하나로 지정됩니다.

  • 'none' — 모서리가 그려지지 않습니다.

  • 'auto' — 각 모서리의 색이 자동으로 선택됩니다.

  • RGB 3색 또는 색 이름 — 지정된 색이 간선에 사용됩니다.

    RGB 3색은 요소를 3개 가진 행 벡터로, 각 요소는 색을 구성하는 빨간색, 녹색, 파란색의 농도를 지정합니다. 농도의 범위는 [0,1]이어야 합니다(예: [0.4 0.6 0.7]). 몇몇의 흔한 색은 이름으로 지정할 수도 있습니다. 다음 표에는 색의 긴 이름과 짧은 이름 옵션, 그리고 각각에 대응하는 RGB 3색 값이 나열되어 있습니다.

    옵션설명대응하는 RGB 3색
    'red' 또는 'r'빨간색[1 0 0]
    'green' 또는 'g'녹색[0 1 0]
    'blue' 또는 'b'파란색[0 0 1]
    'yellow' 또는 'y'노란색[1 1 0]
    'magenta' 또는 'm'자홍색[1 0 1]
    'cyan' 또는 'c'녹청색[0 1 1]
    'white' 또는 'w'흰색[1 1 1]
    'black' 또는 'k'검은색[0 0 0]

예: histogram2(X,Y,'EdgeColor','r')은 막대 모서리가 빨간색인 3차원 히스토그램 플롯을 생성합니다.

히스토그램 막대의 투명도로, 01(구간의 끝점 포함) 사이의 스칼라 값으로 지정됩니다. histogram2는 히스토그램의 모든 막대에 동일한 투명도를 사용합니다. 값이 1이면 완전히 불투명함을 의미하고 0이면 완전히 투명함(보이지 않음)을 의미합니다.

예: histogram2(X,Y,'FaceAlpha',0.5)는 막대가 반투명인 이변량 히스토그램 플롯을 생성합니다.

히스토그램 막대 색으로, 다음 값 중 하나로 지정됩니다.

  • 'none' — 막대가 채워지지 않습니다.

  • 'flat' — 막대 색이 높이에 따라 달라집니다. 막대는 높이에 따라 다른 색으로 표시됩니다. 색은 Figure 컬러맵이나 좌표축 컬러맵에서 선택됩니다.

  • 'auto' — 막대 색이 자동으로 선택됩니다(디폴트 값).

  • RGB 3색 또는 색 이름 — 막대가 지정된 색으로 채워집니다.

    RGB 3색은 요소를 3개 가진 행 벡터로, 각 요소는 색을 구성하는 빨간색, 녹색, 파란색의 농도를 지정합니다. 농도의 범위는 [0,1]이어야 합니다(예: [0.4 0.6 0.7]). 몇몇의 흔한 색은 이름으로 지정할 수도 있습니다. 다음 표에는 색의 긴 이름과 짧은 이름 옵션, 그리고 각각에 대응하는 RGB 3색 값이 나열되어 있습니다.

    옵션설명대응하는 RGB 3색
    'red' 또는 'r'빨간색[1 0 0]
    'green' 또는 'g'녹색[0 1 0]
    'blue' 또는 'b'파란색[0 0 1]
    'yellow' 또는 'y'노란색[1 1 0]
    'magenta' 또는 'm'자홍색[1 0 1]
    'cyan' 또는 'c'녹청색[0 1 1]
    'white' 또는 'w'흰색[1 1 1]
    'black' 또는 'k'검은색[0 0 0]

DisplayStyle'stairs'로 지정할 경우 histogram2FaceColor 속성을 사용하지 않습니다.

예: histogram2(X,Y,'FaceColor','g')는 막대가 녹색인 3차원 히스토그램 플롯을 생성합니다.

히스토그램 막대의 조명 효과로, 다음 표에 있는 값 중 하나로 지정됩니다.

설명
'lit'

히스토그램 막대의 측면에 상단보다 어두운 색을 사용하여 의사 조명 효과(Pseudo-lighting Effect)를 줍니다. 좌표축의 다른 광원은 막대에 영향을 미치지 않습니다.

이는 DisplayStyle'bar3'인 경우 디폴트 값입니다.

'flat'

히스토그램 막대에 자동으로 조명 효과가 적용되지 않습니다. 다른 light 객체가 있을 경우 해당 조명 효과는 막대 면 전체에 균일하게 적용됩니다.

'none'

히스토그램 막대에 자동으로 조명 효과가 적용되지 않고, 조명이 히스토그램 막대에 영향을 미치지 않습니다.

FaceLightingDisplayStyle'tile'인 경우에만 'none'일 수 있습니다.

예: histogram2(X,Y,'FaceLighting','none')은 히스토그램 막대의 조명을 끕니다.

선 스타일로, 다음 표에 나열된 옵션 중 하나로 지정됩니다.

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

'--'파선

':'점선

'-.'일점 쇄선

'none'선 없음선 없음

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

예: 1.5

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

정규화 유형으로, 다음 표에 있는 값 중 하나로 지정됩니다. i는 Bin이며, i에 대해 다음과 같습니다.

  • vi는 Bin의 값입니다.

  • ci는 Bin의 요소 개수입니다.

  • Ai=wxiwyi는 x와 y의 각 Bin 너비를 사용하여 계산되는 Bin의 면적입니다.

  • N는 입력 데이터의 요소 개수입니다. 데이터에 NaN 값이 포함되어 있거나 데이터의 일부가 Bin 제한을 벗어나는 경우 이 값은 비닝(Binning)된 데이터보다 클 수 있습니다.

Bin 값참고
'count'(디폴트 값)

vi=ci

  • 관측값의 도수 또는 빈도입니다.

  • 모든 Bin 값의 합은 numel(X)numel(y)보다 작거나 같습니다. 일부 입력 데이터가 Bin에 포함되어 있지 않은 경우에만 합이 numel(X)numel(y)보다 작습니다.

'countdensity'

vi=ciAi

  • Bin의 면적을 기준으로 스케일링한 도수 또는 빈도입니다.

  • 각 막대의 체적(높이 * 면적)은 그 Bin에서의 관측값 개수입니다. 모든 막대의 체적의 합은 numel(X)numel(y)보다 작거나 같습니다.

'cumcount'

vi=j=1icj

  • 누적 도수(Cumulative Count). 각 Bin의 값은 x 차원과 y 차원에서의 각 Bin과 모든 이전 Bin의 누적 관측값 개수를 나타냅니다.

  • 마지막 막대의 높이는 numel(X)numel(Y)보다 작거나 같습니다.

'probability'

vi=ciN

  • 상대 확률.

  • 모든 막대의 높이의 합은 1보다 작거나 같습니다.

'pdf'

vi=ciNAi

  • 확률 밀도 함수 추정값입니다.

  • 각 막대의 체적은 관측값의 상대 수입니다. 모든 막대의 체적의 합은 1보다 작거나 같습니다.

'cdf'

vi=j=1icjN

  • 누적 밀도 함수 추정값입니다.

  • 각 막대의 높이는 x 차원과 y 차원 모두에 있는 각 Bin과 이전의 모든 Bin의 관측값의 누적 상대 수와 같습니다. 마지막 막대의 높이는 1보다 작거나 같습니다.

예: histogram2(X,Y,'Normalization','pdf')XY에 대한 확률 밀도 함수의 추정값을 플로팅합니다.

비어 있는 Bin의 표시 토글로, 'off' 또는 'on'으로 지정됩니다. 디폴트 값은 'off'입니다.

예: histogram2(X,Y,'ShowEmptyBins','on')은 비어 있는 Bin의 표시를 켭니다.

x 차원의 Bin 제한으로, 요소를 2개 가진 벡터 [xbmin,xbmax]로 지정됩니다. 이 벡터는 x 차원의 첫 번째 Bin 경계값과 마지막 Bin 경계값을 나타냅니다.

histogram2는 Bin 제한 값(Data(Data(:,1)>=xbmin & Data(:,1)<=xbmax)) 내에 있는 데이터만 플로팅합니다.

x 차원의 Bin 제한 선택 모드로, 'auto' 또는 'manual'로 지정됩니다. 디폴트 값은 'auto'입니다. 이 경우 Bin 제한이 x축에 있는 데이터에 맞게 자동으로 조정됩니다.

XBinLimitsXBinEdges를 명시적으로 지정하면 XBinLimitsMode가 자동으로 'manual'로 설정됩니다. 이 경우, Bin 제한을 데이터에 맞게 다시 스케일링하려면 XBinLimitsMode'auto'로 지정하십시오.

y 차원의 Bin 제한으로, 요소를 2개 가진 벡터 [ybmin,ybmax]로 지정됩니다. 이 벡터는 y 차원의 첫 번째 Bin 경계값과 마지막 Bin 경계값을 나타냅니다.

histogram2는 Bin 제한 값(Data(Data(:,2)>=ybmin & Data(:,2)<=ybmax)) 내에 있는 데이터만 플로팅합니다.

y 차원의 Bin 제한 선택 모드로, 'auto' 또는 'manual'로 지정됩니다. 디폴트 값은 'auto'입니다. 이 경우 Bin 제한이 y축에 있는 데이터에 맞게 자동으로 조정됩니다.

YBinLimitsYBinEdges를 명시적으로 지정하면 YBinLimitsMode가 자동으로 'manual'로 설정됩니다. 이 경우, Bin 제한을 데이터에 맞게 다시 스케일링하려면 YBinLimitsMode'auto'로 지정하십시오.

출력 인수

모두 확장

이변량 히스토그램으로, 객체로 반환됩니다. 자세한 내용은 Histogram2를 참조하십시오.

속성

Histogram2 속성histogram2의 모양과 동작

객체 함수

morebinsIncrease number of histogram bins
fewerbins히스토그램 Bin 개수 감소

예제

모두 축소

10,000개의 난수 쌍을 생성하고 이변량 히스토그램을 만듭니다. histogram2 함수는 xy의 값 범위를 포괄하고 기본 분포의 형태를 표시하는 데 적합한 Bin 개수를 자동으로 선택합니다.

x = randn(10000,1);
y = randn(10000,1);
h = histogram2(x,y)
h = 
  Histogram2 with properties:

             Data: [10000x2 double]
           Values: [25x28 double]
          NumBins: [25 28]
        XBinEdges: [1x26 double]
        YBinEdges: [1x29 double]
         BinWidth: [0.3000 0.3000]
    Normalization: 'count'
        FaceColor: 'auto'
        EdgeColor: [0.1500 0.1500 0.1500]

  Show all properties

xlabel('x')
ylabel('y')

histogram2 함수에 대한 출력 인수를 지정하면 이 함수는 histogram2 객체를 반환합니다. 이 객체를 사용하여 Bin 개수나 Bin 너비 등의 histogram 속성을 검사할 수 있습니다.

각 차원에 포함되는 히스토그램 Bin의 개수를 구합니다.

nXnY = h.NumBins
nXnY = 1×2

    25    28

각 차원에 5개의 Bin을 사용하여, 균일한 간격의 25개 Bin에 정렬된 1,000개의 난수 쌍에 대한 이변량 히스토그램을 플로팅합니다.

x = randn(1000,1);
y = randn(1000,1);
nbins = 5;
h = histogram2(x,y,nbins)

h = 
  Histogram2 with properties:

             Data: [1000x2 double]
           Values: [5x5 double]
          NumBins: [5 5]
        XBinEdges: [-4 -2.4000 -0.8000 0.8000 2.4000 4]
        YBinEdges: [-4 -2.4000 -0.8000 0.8000 2.4000 4]
         BinWidth: [1.6000 1.6000]
    Normalization: 'count'
        FaceColor: 'auto'
        EdgeColor: [0.1500 0.1500 0.1500]

  Show all properties

결과 Bin 도수를 구합니다.

counts = h.Values
counts = 5×5

     0     2     3     1     0
     2    40   124    47     4
     1   119   341   109    10
     1    32   117    33     1
     0     4     8     1     0

1,000개의 난수 쌍을 생성하고 이변량 히스토그램을 만듭니다.

x = randn(1000,1);
y = randn(1000,1);
h = histogram2(x,y)

h = 
  Histogram2 with properties:

             Data: [1000x2 double]
           Values: [15x15 double]
          NumBins: [15 15]
        XBinEdges: [1x16 double]
        YBinEdges: [1x16 double]
         BinWidth: [0.5000 0.5000]
    Normalization: 'count'
        FaceColor: 'auto'
        EdgeColor: [0.1500 0.1500 0.1500]

  Show all properties

morebins 함수를 사용하여 x 차원의 Bin 개수를 성기게 조정합니다.

nbins = morebins(h,'x');
nbins = morebins(h,'x')

nbins = 1×2

    19    15

fewerbins 함수를 사용하여 y 차원의 Bin 개수를 조정합니다.

nbins = fewerbins(h,'y');
nbins = fewerbins(h,'y')

nbins = 1×2

    19    11

Bin 개수를 명시적으로 설정하여 Bin 개수를 정교하게 조정합니다.

h.NumBins = [20 10];

각 차원에 12개의 Bin을 구성하고 1,000개의 정규분포된 난수를 사용하여 이변량 히스토그램을 생성합니다. FaceColor'flat'으로 지정하여 높이를 기준으로 히스토그램 막대의 색을 적용합니다.

h = histogram2(randn(1000,1),randn(1000,1),[12 12],'FaceColor','flat');
colorbar

랜덤 데이터를 생성하고 이변량 바둑판식 히스토그램을 플로팅합니다. ShowEmptyBins'on'으로 지정하여 비어 있는 Bin을 표시합니다.

x = 2*randn(1000,1)+2;
y = 5*randn(1000,1)+3;
h = histogram2(x,y,'DisplayStyle','tile','ShowEmptyBins','on');

1,000개의 난수 쌍을 생성하고 이변량 히스토그램을 만듭니다. Bin 경계값을 히스토그램 경계에 무한대로 넓은 Bin을 갖는 2개의 벡터로 지정하여 를 충족하지 않는 모든 이상값을 캡처합니다.

x = randn(1000,1);
y = randn(1000,1);
Xedges = [-Inf -2:0.4:2 Inf];
Yedges = [-Inf -2:0.4:2 Inf];
h = histogram2(x,y,Xedges,Yedges)

h = 
  Histogram2 with properties:

             Data: [1000x2 double]
           Values: [12x12 double]
          NumBins: [12 12]
        XBinEdges: [1x13 double]
        YBinEdges: [1x13 double]
         BinWidth: 'nonuniform'
    Normalization: 'count'
        FaceColor: 'auto'
        EdgeColor: [0.1500 0.1500 0.1500]

  Show all properties

Bin 경계값이 무한대이면 histogram2는 (히스토그램의 경계를 따라) 각 이상값 Bin을 옆에 있는 Bin의 2배 너비로 표시합니다.

Normalization 속성을 'countdensity'로 지정하여 이상값을 포함하는 Bin을 제거합니다. 이제, 각 Bin의 체적은 해당 구간에서의 관측값 빈도(도수)를 나타냅니다.

h.Normalization = 'countdensity';

1,000개의 난수 쌍을 생성하고 'probability' 정규화를 사용하여 이변량 히스토그램을 만듭니다.

x = randn(1000,1);
y = randn(1000,1);
h = histogram2(x,y,'Normalization','probability')

h = 
  Histogram2 with properties:

             Data: [1000x2 double]
           Values: [15x15 double]
          NumBins: [15 15]
        XBinEdges: [1x16 double]
        YBinEdges: [1x16 double]
         BinWidth: [0.5000 0.5000]
    Normalization: 'probability'
        FaceColor: 'auto'
        EdgeColor: [0.1500 0.1500 0.1500]

  Show all properties

모든 막대의 높이의 총합을 계산합니다. 이 정규화를 사용할 경우 각 막대의 높이는 해당 Bin 구간 내에서 관측값을 선택할 확률과 동일하며, 모든 막대 높이의 합은 1입니다.

S = sum(h.Values(:))
S = 1.0000

1,000개의 난수 쌍을 생성하고 이변량 히스토그램을 만듭니다. histogram 객체를 반환하여, 전체 플롯을 다시 생성하지 않고 histogram의 속성을 조정합니다.

x = randn(1000,1);
y = randn(1000,1);
h = histogram2(x,y)

h = 
  Histogram2 with properties:

             Data: [1000x2 double]
           Values: [15x15 double]
          NumBins: [15 15]
        XBinEdges: [1x16 double]
        YBinEdges: [1x16 double]
         BinWidth: [0.5000 0.5000]
    Normalization: 'count'
        FaceColor: 'auto'
        EdgeColor: [0.1500 0.1500 0.1500]

  Show all properties

높이를 기준으로 히스토그램 막대의 색을 지정합니다.

h.FaceColor = 'flat';

각 방향의 Bin 개수를 변경합니다.

h.NumBins = [10 25];

히스토그램을 바둑판식 플롯으로 표시합니다.

h.DisplayStyle = 'tile';
view(2)

savefig 함수를 사용하여 histogram2 Figure를 저장합니다.

y = histogram2(randn(100,1),randn(100,1));
savefig('histogram2.fig');

clear all
close all

openfig를 사용하여 히스토그램 Figure를 다시 MATLAB으로 불러옵니다. openfig는 또한 Figure에 대한 핸들 h를 반환합니다.

h = openfig('histogram2.fig');

findobj 함수를 사용하여 Figure 핸들에서 올바른 객체 핸들을 찾습니다. 이로서 Figure를 생성하는 데 사용된 원래 히스토그램 객체를 계속 조작할 수 있습니다.

y = findobj(h, 'type', 'histogram2')
y = 
  Histogram2 with properties:

             Data: [100x2 double]
           Values: [7x6 double]
          NumBins: [7 6]
        XBinEdges: [-3 -2 -1 0 1 2 3 4]
        YBinEdges: [-3 -2 -1 0 1 2 3]
         BinWidth: [1 1]
    Normalization: 'count'
        FaceColor: 'auto'
        EdgeColor: [0.1500 0.1500 0.1500]

  Show all properties

  • histogram2를 사용하여 생성된 히스토그램 플롯의 경우 플롯 편집 모드에서 상황별 메뉴가 제공됩니다. 이 메뉴를 통해 Figure 창에서 대화형 방식으로 조작을 수행할 수 있습니다. 예를 들어, 상황별 메뉴를 사용하여 대화형 방식으로 Bin의 개수를 변경하거나, 여러 히스토그램을 배치하거나, 디스플레이 순서를 변경할 수 있습니다.

확장 기능

R2015b에 개발됨