Main Content

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

histogram2

이변량 히스토그램 플롯

  • Bivariate histogram plot

설명

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

생성

설명

예제

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

예제

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

예제

histogram2(X,Y,Xedges,Yedges)X, Y를 벡터에 지정된 각 차원별 Bin 경계값을 갖는 Bin으로 분류합니다.

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

예제

histogram2(___,Name,Value)는 위에 열거된 구문에서 하나 이상의 이름-값 인수를 사용하여 추가적인 파라미터를 지정합니다. 예를 들어, 다른 유형의 정규화를 사용하려면 Normalization을 지정합니다. 속성 목록은 Histogram2 속성를 참조하십시오.

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

예제

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

입력 인수

모두 확장

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

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

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가 스칼라이면 histogram2 함수는 각 차원에 포함된 개수만큼의 Bin을 사용합니다.

  • nbins가 벡터이면 첫 번째 요소는 x 차원의 Bin 개수를 지정하고, 두 번째 요소는 y 차원의 Bin 개수를 지정합니다.

nbins를 지정하지 않으면 histogram2 함수는 XY의 값을 기반으로 하여 사용할 Bin의 개수를 자동으로 계산합니다.

nbinsBinMethod 또는 BinWidth와 함께 지정할 경우 histogram2 함수는 마지막 파라미터만 적용합니다.

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

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

x 차원의 Bin 경계값으로, 벡터로 지정됩니다. 첫 번째 요소는 x 차원의 첫 번째 Bin의 앞쪽 경계값을 지정합니다. 마지막 요소는 x 차원의 마지막 Bin의 뒤쪽 경계값을 지정합니다. 뒤쪽 경계값은 마지막 Bin에 대해서만 포함됩니다.

  • XedgesYedgesBinMethod, BinWidth 또는 NumBins와 함께 지정할 경우 histogram2 함수는 Bin 경계값만 적용하므로 Bin 경계값을 마지막에 지정해야 합니다.

  • XedgesXBinLimits와 함께 지정할 경우 histogram2 함수는 Xedges만 적용하므로 Xedges를 마지막에 지정해야 합니다.

y 차원의 Bin 경계값으로, 벡터로 지정됩니다. 첫 번째 요소는 y 차원의 첫 번째 Bin의 앞쪽 경계값을 지정합니다. 마지막 요소는 y 차원의 마지막 Bin의 뒤쪽 경계값을 지정합니다. 뒤쪽 경계값은 마지막 Bin에 대해서만 포함됩니다.

  • YedgesXedgesBinMethod, BinWidth 또는 NumBins와 함께 지정할 경우 histogram2 함수는 Bin 경계값만 적용하므로 Bin 경계값을 마지막에 지정해야 합니다.

  • YedgesYBinLimits와 함께 지정할 경우 histogram2 함수는 Yedges만 적용하므로 Yedges를 마지막에 지정해야 합니다.

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)을 사용합니다.

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

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

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

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

참고

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

Bin

모두 확장

각 차원의 Bin 너비로, 양수 값으로 구성된 요소를 2개 가진 벡터로 지정됩니다. 첫 번째 요소는 x 차원의 Bin 너비를 지정하고, 두 번째 요소는 y 차원의 Bin 너비를 지정합니다.

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

BinWidthBinMethod 또는 NumBins와 함께 지정할 경우 histogram2 함수는 마지막 파라미터만 적용합니다.

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

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

이 옵션은 Bin 제한 값(X>=xbmin & X<=xbmax) 내에 있는 데이터만 비닝합니다.

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

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

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

이 옵션은 Bin 제한 값(Y>=ybmin & Y<=ybmax) 내에 있는 데이터만 비닝합니다.

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

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

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

설명
'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)]을 사용합니다.

'integers'

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

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

  • histogram2 함수는 이러한 식을 정확히 그대로 사용하는 대신 Bin 경계값이 "적절한" 숫자가 되도록 Bin 개수를 약간 조정합니다.

  • NumBins, XBinEdges, YBinEdges, BinWidth, XBinLimits 또는 YBinLimits 속성을 설정하면 BinMethod'manual'로 설정됩니다.

  • BinMethodBinWidth 또는 NumBins와 함께 지정할 경우 histogram2 함수는 마지막 파라미터만 적용합니다.

예: histogram2(X,Y,'BinMethod','integers')는 2차원 Bin의 중심을 각 정수 쌍에 둡니다.

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

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

데이터

모두 확장

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

  • vi는 Bin의 값입니다.

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

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

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

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

vi=ci

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

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

'probability'

vi=ciN

  • 상대 확률입니다.

  • 입력 데이터에 있는 요소의 총 개수에 대한 개별 Bin 요소의 개수는 최대 1입니다.

'percentage'

vi=100*ciN

  • 상대 백분율입니다.

  • 각 Bin에 있는 요소의 백분율은 최대 100입니다.

'countdensity'

vi=ciAi

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

  • N(end,end)는 최대 numel(X)numel(Y)입니다.

'cumcount'

vi=j=1icj

  • 누적 도수, 즉 x 차원과 y 차원에서의 각 Bin과 이전의 모든 Bin의 관측값 개수입니다.

  • N(end,end)는 최대 numel(X)numel(Y)입니다.

'pdf'

vi=ciNAi

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

  • 모든 Bin의 체적의 합은 최대 1입니다.

'cdf'

vi=j=1icjN

  • 누적 분포 함수 추정값입니다.

  • N(end,end)는 최대 1입니다.

예: histogram2(X,Y,'Normalization','pdf')는 확률 밀도 함수의 추정값을 사용하여 데이터를 비닝합니다.

색과 스타일 지정

모두 확장

히스토그램 표시 스타일로, 'bar3' 또는 'tile'로 지정됩니다.

  • 'bar3' — 3차원 막대를 사용하여 히스토그램을 표시합니다.

  • 'tile' — Bin 값을 색으로 표현한, 타일로 구성된 사각형 배열로 히스토그램을 표시합니다.

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

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

  • '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"

    Sample of the color red

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

    Sample of the color green

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

    Sample of the color blue

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

    Sample of the color cyan

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

    Sample of the color magenta

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

    Sample of the color yellow

    "black""k"[0 0 0]"#000000"

    Sample of the color black

    "white""w"[1 1 1]"#FFFFFF"

    Sample of the color white

    다음은 MATLAB®이 여러 유형의 플롯에서 사용하는 디폴트 색의 RGB 3색과 16진수 색 코드입니다.

    RGB 3색16진수 색 코드모양
    [0 0.4470 0.7410]"#0072BD"

    Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

    [0.8500 0.3250 0.0980]"#D95319"

    Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

    [0.9290 0.6940 0.1250]"#EDB120"

    Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

    [0.4940 0.1840 0.5560]"#7E2F8E"

    Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

    [0.4660 0.6740 0.1880]"#77AC30"

    Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

    [0.3010 0.7450 0.9330]"#4DBEEE"

    Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

    [0.6350 0.0780 0.1840]"#A2142F"

    Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

DisplayStyle'stairs'로 지정할 경우 histogram2 함수는 FaceColor 속성을 사용하지 않습니다.

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

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

  • '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"

    Sample of the color red

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

    Sample of the color green

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

    Sample of the color blue

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

    Sample of the color cyan

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

    Sample of the color magenta

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

    Sample of the color yellow

    "black""k"[0 0 0]"#000000"

    Sample of the color black

    "white""w"[1 1 1]"#FFFFFF"

    Sample of the color white

    다음은 MATLAB이 여러 유형의 플롯에서 사용하는 디폴트 색의 RGB 3색과 16진수 색 코드입니다.

    RGB 3색16진수 색 코드모양
    [0 0.4470 0.7410]"#0072BD"

    Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

    [0.8500 0.3250 0.0980]"#D95319"

    Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

    [0.9290 0.6940 0.1250]"#EDB120"

    Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

    [0.4940 0.1840 0.5560]"#7E2F8E"

    Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

    [0.4660 0.6740 0.1880]"#77AC30"

    Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

    [0.3010 0.7450 0.9330]"#4DBEEE"

    Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

    [0.6350 0.0780 0.1840]"#A2142F"

    Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

예: histogram2(X,Y,'EdgeColor','r')은 막대 가장자리가 빨간색인 이변량 히스토그램 플롯을 생성합니다.

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

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

히스토그램 막대 가장자리의 투명도로, [0,1] 범위의 스칼라 값으로 지정됩니다. 값이 1이면 완전히 불투명함을 의미하고 0이면 완전히 투명함(보이지 않음)을 의미합니다.

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

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

설명
'lit'

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

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

'flat'

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

'none'

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

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

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

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

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

Sample of solid line

"--"파선

Sample of dashed line

":"점선

Sample of dotted line

"-."일점 쇄선

Sample of dash-dotted line, with alternating dashes and dots

"none"선 없음선 없음

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

예: 1.5

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

출력 인수

모두 확장

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

속성

Histogram2 속성이변량 히스토그램의 모양과 동작

객체 함수

morebins히스토그램 Bin 개수 증가
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: [-3.9000 -3.6000 -3.3000 -3 -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.0000 3.3000 3.6000]
        YBinEdges: [-4.2000 -3.9000 -3.6000 -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 3.9000 4.2000]
         BinWidth: [0.3000 0.3000]
    Normalization: 'count'
        FaceColor: 'auto'
        EdgeColor: [0.1500 0.1500 0.1500]

  Use GET to show all properties

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

Figure contains an axes object. The axes object with xlabel x, ylabel y contains an object of type histogram2. This object represents y vs. x.

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

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

nXnY = h.NumBins
nXnY = 1×2

    25    28

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

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

Figure contains an axes object. The axes object contains an object of type histogram2. This object represents y vs. x.

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]

  Use GET to 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)

Figure contains an axes object. The axes object contains an object of type histogram2. This object represents y vs. x.

h = 
  Histogram2 with properties:

             Data: [1000x2 double]
           Values: [15x15 double]
          NumBins: [15 15]
        XBinEdges: [-3.5000 -3 -2.5000 -2 -1.5000 -1 -0.5000 0 0.5000 1 1.5000 2 2.5000 3 3.5000 4]
        YBinEdges: [-3.5000 -3 -2.5000 -2 -1.5000 -1 -0.5000 0 0.5000 1 1.5000 2 2.5000 3 3.5000 4]
         BinWidth: [0.5000 0.5000]
    Normalization: 'count'
        FaceColor: 'auto'
        EdgeColor: [0.1500 0.1500 0.1500]

  Use GET to show all properties

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

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

Figure contains an axes object. The axes object contains an object of type histogram2. This object represents y vs. x.

nbins = 1×2

    19    15

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

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

Figure contains an axes object. The axes object contains an object of type histogram2. This object represents y vs. x.

nbins = 1×2

    19    11

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

h.NumBins = [20 10];

Figure contains an axes object. The axes object contains an object of type histogram2. This object represents y vs. x.

각 차원에 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');

Figure contains an axes object. The axes object contains an object of type histogram2. This object represents y vs. x.

1,000개의 난수 쌍을 생성하고 이변량 히스토그램을 만듭니다. 히스토그램의 경계에 무한대로 넓은 Bin을 갖는 2개의 벡터로 Bin 경계값을 지정하여 |x|<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)

Figure contains an axes object. The axes object contains an object of type histogram2. This object represents y vs. x.

h = 
  Histogram2 with properties:

             Data: [1000x2 double]
           Values: [12x12 double]
          NumBins: [12 12]
        XBinEdges: [-Inf -2 -1.6000 -1.2000 -0.8000 -0.4000 0 0.4000 0.8000 1.2000 1.6000 2 Inf]
        YBinEdges: [-Inf -2 -1.6000 -1.2000 -0.8000 -0.4000 0 0.4000 0.8000 1.2000 1.6000 2 Inf]
         BinWidth: 'nonuniform'
    Normalization: 'count'
        FaceColor: 'auto'
        EdgeColor: [0.1500 0.1500 0.1500]

  Use GET to show all properties

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

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

h.Normalization = 'countdensity';

Figure contains an axes object. The axes object contains an object of type histogram2. This object represents y vs. x.

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

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

Figure contains an axes object. The axes object contains an object of type histogram2. This object represents y vs. x.

h = 
  Histogram2 with properties:

             Data: [1000x2 double]
           Values: [15x15 double]
          NumBins: [15 15]
        XBinEdges: [-3.5000 -3 -2.5000 -2 -1.5000 -1 -0.5000 0 0.5000 1 1.5000 2 2.5000 3 3.5000 4]
        YBinEdges: [-3.5000 -3 -2.5000 -2 -1.5000 -1 -0.5000 0 0.5000 1 1.5000 2 2.5000 3 3.5000 4]
         BinWidth: [0.5000 0.5000]
    Normalization: 'probability'
        FaceColor: 'auto'
        EdgeColor: [0.1500 0.1500 0.1500]

  Use GET to show all properties

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

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

100,000개의 정규분포된 확률 벡터를 생성합니다. 표준편차 15, 평균 100과 85를 사용합니다.

x = [100 85] + 15*randn(1e5,2);

확률 벡터의 히스토그램을 플로팅합니다. z축을 백분율로 스케일링하고 레이블을 지정합니다.

edges = 40:15:145;
histogram2(x(:,1),x(:,2),edges,edges,Normalization="percentage")
ztickformat("percentage")

Figure contains an axes object. The axes object contains an object of type histogram2.

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

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

Figure contains an axes object. The axes object contains an object of type histogram2. This object represents y vs. x.

h = 
  Histogram2 with properties:

             Data: [1000x2 double]
           Values: [15x15 double]
          NumBins: [15 15]
        XBinEdges: [-3.5000 -3 -2.5000 -2 -1.5000 -1 -0.5000 0 0.5000 1 1.5000 2 2.5000 3 3.5000 4]
        YBinEdges: [-3.5000 -3 -2.5000 -2 -1.5000 -1 -0.5000 0 0.5000 1 1.5000 2 2.5000 3 3.5000 4]
         BinWidth: [0.5000 0.5000]
    Normalization: 'count'
        FaceColor: 'auto'
        EdgeColor: [0.1500 0.1500 0.1500]

  Use GET to show all properties

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

h.FaceColor = 'flat';

Figure contains an axes object. The axes object contains an object of type histogram2. This object represents y vs. x.

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

h.NumBins = [10 25];

Figure contains an axes object. The axes object contains an object of type histogram2. This object represents y vs. x.

히스토그램을 타일 플롯으로 표시합니다.

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

Figure contains an axes object. The axes object contains an object of type histogram2. This object represents y vs. x.

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

histogram2(randn(100,1),randn(100,1));
savefig('histogram2.fig');
close gcf

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

h = openfig('histogram2.fig');

Figure contains an axes object. The axes object contains an object of type histogram2.

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]

  Use GET to show all properties

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

확장 기능

버전 내역

R2015b에 개발됨

모두 확장