histogram2
二変量ヒストグラム プロット

説明
二変量ヒストグラムは数値データ用の棒グラフの一種で、データを 2 次元のビンにグループ分けします。Histogram2 オブジェクトの作成後、プロパティ値を変更してヒストグラムの特性を変更できます。これは、ビンのプロパティをすばやく変えたり表示を変えたりするのに特に役立ちます。
作成
構文
説明
histogram2( は、X,Y)X と Y の二変量ヒストグラム プロットを作成します。関数 histogram2 は、一様な面積をもつビンを返す自動ビン化アルゴリズムを使用します。X および Y の要素の範囲をカバーし、分布の基本的な形状を明らかにするビンが選択されます。histogram2 は 3 次元の直方体バーとしてビンを表示し、各バーの高さはビンの要素数を示します。
histogram2(___, は、前述の任意の構文について名前と値の引数を 1 つ以上使用して、追加のパラメーターを指定します。たとえば、別の種類の正規化を使用するには Name,Value)Normalization を指定します。プロパティの一覧については、Histogram2 のプロパティ を参照してください。
histogram2( は、現在の座標軸 (ax,___)gca) ではなく指定した座標軸にプロットします。ax は、前述の構文における任意の入力引数の組み合わせの前で指定できます。
は h = histogram2(___)Histogram2 オブジェクトを返します。これは、二変量ヒストグラムのプロパティの検査や調整に使用します。プロパティの一覧については、Histogram2 のプロパティ を参照してください。
入力引数
ビンに分散させるデータ。ベクトル、行列または多次元配列の個別の引数として指定します。X と Y は同じサイズでなければなりません。histogram2 は、行列または多次元配列のデータを 1 つの列ベクトル X(:) および Y(:) として扱い、1 つのヒストグラムをプロットします。
X および Y の対応する要素は、2 次元データ点の x 座標および y 座標 [X(k),Y(k)] を指定します。X と Y は異なるデータ型にすることができますが、histogram2 はこれらの入力を主要なデータ型の 1 つの N 行 2 列の行列に連結します。
histogram2 はすべての NaN 値を無視します。同様にビンのエッジとして明示的に Inf または -Inf を指定しない限り、histogram2 は Inf 値および -Inf 値を無視します。通常、NaN 値、Inf 値、-Inf 値はプロットされませんが、'probability' などのデータ要素の総数を含む正規化計算に引き続き含まれます。
メモ
X または Y に含まれる int64 型または uint64 型の整数が flintmax より大きい場合、ヒストグラムのビンのエッジを明示的に指定することが推奨されます。histogram2 は自動的に、倍精度を使用して入力データをビンに入れるので、flintmax を超える数値では整数精度が低下します。
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
各次元のビンの数。正のスカラー整数、あるいは正の整数の 2 要素ベクトルとして指定します。
nbinsがスカラーの場合、histogram2は各次元でその数のビンを使用します。nbinsがベクトルの場合、最初の要素は x 次元のビンの数を指定し、2 番目の要素は y 次元のビンの数を指定します。
nbins を指定しない場合、histogram2 は X と Y の値に基づいて使用するビンの数を自動的に計算します。
nbins を BinMethod または BinWidth と一緒に指定した場合、histogram2 は最後のパラメーターのみに従います。
例: histogram2(X,Y,20) は各次元で 20 個のビンを使用します。
例: histogram2(X,Y,[10 20]) は x 次元で 10 個のビン、y 次元で 20 個のビンを使用します。
x 次元のビンのエッジ。ベクトルとして指定します。最初の要素は、x 次元の最初のビンの先頭のエッジを指定します。最後の要素は、x 次元の最後のビンの後方のエッジを指定します。後方のエッジは最後のビンにのみ含まれます。
XedgesとYedgesをBinMethod、BinWidth、またはNumBinsと一緒に指定した場合、histogram2はビンのエッジのみに従い、ビンのエッジは最後に指定する必要があります。XedgesをXBinLimitsと一緒に指定した場合、histogram2はXedgesのみに従い、Xedgesは最後に指定する必要があります。
y 次元のビンのエッジ。ベクトルとして指定します。最初の要素は、y 次元の最初のビンの先頭のエッジを指定します。最後の要素は、y 次元の最後のビンの後方のエッジを指定します。後方のエッジは最後のビンにのみ含まれます。
YedgesとXedgesをBinMethod、BinWidth、またはNumBinsと一緒に指定した場合、histogram2はビンのエッジのみに従い、ビンのエッジは最後に指定する必要があります。YedgesをYBinLimitsと一緒に指定した場合、histogram2はYedgesのみに従い、Yedgesは最後に指定する必要があります。
ビンのカウント数。行列として指定します。ビンのカウント数の計算が個別に実行され、histogram2 でデータのビン化を行わない場合、この入力を使用してビンのカウント数を histogram2 に渡します。
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 のプロパティ を参照してください。
ビン
各次元のビンの幅。正の値の 2 要素ベクトルとして指定します。最初の要素は x 次元のビンの幅を指定し、2 番目の要素は y 次元のビンの幅を指定します。
BinWidth を指定した場合、histogram2 は各次元で最大 1024 (210) 個のビンを使用できます。指定したビンの幅によってさらに多くのビンが必要となる場合、histogram2 はビンの最大数に対応する、より大きなビンの幅を使用します。
BinWidth を BinMethod または NumBins と一緒に指定した場合、histogram2 は最後のパラメーターのみに従います。
例: は histogram2(X,Y,'BinWidth',[5 10])x 次元のサイズが 5、y 次元のサイズが 10 のビンを使用します。
x 次元のビンの範囲。2 要素ベクトル [xbmin,xbmax] として指定します。最初の要素は、x 次元の最初のビンのエッジを示します。2 番目の要素は、x 次元の最後のビンのエッジを示します。
このオプションを使用すると、ビンの範囲 X>=xbmin & X<=xbmax に含まれるデータのみがビンに入れられます。
x 次元のビンの範囲の選択モード。'auto' または 'manual' として指定します。既定値は 'auto' であり、ビンの範囲は x 軸方向のデータに合わせて自動的に調整されます。
XBinLimits または XBinEdges を明示的に指定した場合、XBinLimitsMode は自動的に 'manual' に設定されます。この場合に XBinLimitsMode を 'auto' に指定すると、ビンの範囲はデータに合わせて再びスケーリングされます。
y 次元のビンの範囲。2 要素ベクトル [ybmin,ybmax] として指定します。最初の要素は、y 次元の最初のビンのエッジを示します。2 番目の要素は、y 次元の最後のビンのエッジを示します。
このオプションを使用すると、ビンの範囲 Y>=ybmin & Y<=ybmax に含まれるデータのみがビンに入れられます。
y 次元のビンの範囲の選択モード。'auto' または 'manual' として指定します。既定値は 'auto' であり、ビンの範囲は y 軸方向のデータに合わせて自動的に調整されます。
YBinLimits または YBinEdges を明示的に指定した場合、YBinLimitsMode は自動的に 'manual' に設定されます。この場合に YBinLimitsMode を 'auto' に指定すると、ビンの範囲はデータに合わせて再びスケーリングされます。
ビン化アルゴリズム。次の表のいずれかの値を指定します。
| 値 | 説明 |
|---|---|
'auto' | 既定値の |
'scott' | スコットの法則はデータが正規分布に近い場合に最適です。この規則は他の多くの分布にも適しています。ビンのサイズとして |
'fd' | Freedman-Diaconis の法則は、データの外れ値の影響を受けにくく、裾が大きい分布をもつデータにより適しています。ビンのサイズとして |
'integers' | 整数ルールは整数のペアを中心にしてビンを作成するので、整数データの場合に便利です。各次元に幅が 1 のビンを使用し、ビンのエッジを整数の中間に設定します。 誤って多すぎるビンを作成しないように、このルールを使用して作成するビンを 1024 (210) 個以下に制限できます。いずれかの次元のデータの範囲が 1024 よりも大きい場合、整数ルールは代わりに幅の広いビンを使用します。 |
histogram2は、これらの式を厳密に使用するのではなく、ビンのエッジが "きりのよい" 数字になるように、ビンの数をわずかに調整します。NumBins、XBinEdges、YBinEdges、BinWidth、XBinLimits、またはYBinLimitsプロパティを設定した場合、BinMethodは'manual'に設定されます。BinMethodをBinWidthまたはNumBinsと一緒に指定した場合、histogram2は最後のパラメーターのみに従います。
例: は 2 次元ビンの中心を各整数ペアとします。histogram2(X,Y,'BinMethod','integers')
空のビンの表示トグル。'off' または 'on' として指定します。既定値は 'off' です。
例: histogram2(X,Y,'ShowEmptyBins','on') は空のビンの表示をオンにします。
データ
正規化のタイプ。次の表のいずれかの値を指定します。各ビン i に対して次のようになります。
はビンの値です。
はビン内の要素数です。
はビンの面積で、ビンの幅 x と y を使用して計算されます。
は入力データ内の要素数です。データに欠損値が含まれる場合、または一部のデータがビンの範囲外にある場合、この値はビン化されたデータより大きくなることがあります。
| 値 | ビンの値 | メモ |
|---|---|---|
'count' (既定) |
|
|
'probability' |
|
|
'percentage' |
|
|
'countdensity' |
|
|
'cumcount' |
|
|
'pdf' |
|
|
'cdf' |
|
|
例: は、確率密度関数の推定値を使用してデータをビン化します。histogram2(X,Y,'Normalization','pdf')
色とスタイル
ヒストグラムの表示スタイル。'bar3' または 'tile' で指定します。
'bar3'— 3 次元バーを使用してヒストグラムを表示します。'tile'— ビンの値を示す色をもつタイルの方形配列としてヒストグラムを表示します。
例: histogram2(X,Y,'DisplayStyle','tile') はヒストグラムをタイルの方形配列としてプロットします。
ヒストグラムのバーの色。次の値の 1 つとして指定します。
'none'— バーは塗りつぶされません。'flat'— バーの色が高さと共に変わります。バーの高さに応じて異なる色になります。色は Figure または座標軸のカラーマップから選択されます。'auto'— ヒストグラムのバーの色が自動的に選択されます (既定値)。RGB 3 成分、16 進数カラー コードまたは色名 — バーは指定した色で塗りつぶされます。
RGB 3 成分および 16 進数カラー コードは、カスタム色を指定するのに役立ちます。
RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は
[0,1]の範囲でなければなりません。たとえば[0.4 0.6 0.7]のようになります。16 進数カラー コードは、ハッシュ記号 (
#) で始まり、3 桁または 6 桁の0からFまでの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。この値は大文字と小文字を区別しません。したがって、カラー コード"#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"
次の表に、ライト テーマとダーク テーマでのプロットの既定のカラー パレットを示します。
パレット パレットの色 "gem"— ライト テーマの既定値R2025a より前: ほとんどのプロットで、これらの色が既定で使用されます。

"glow"— ダーク テーマの既定値
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 進数カラー コードを取得します。
DisplayStyle を 'tile' として指定すると、FaceColor プロパティは 'flat' に設定されます。
例: はバーが緑色の二変量ヒストグラム プロットを作成します。histogram2(X,Y,'FaceColor','g')
ヒストグラムのエッジの色。次の値の 1 つとして指定します。
'none'— エッジは描画されません。'auto'— 各エッジの色が自動的に選択されます。RGB 3 成分、16 進数カラー コードまたは色名 — 指定した色がエッジで使用されます。
RGB 3 成分および 16 進数カラー コードは、カスタム色を指定するのに役立ちます。
RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は
[0,1]の範囲でなければなりません。たとえば[0.4 0.6 0.7]のようになります。16 進数カラー コードは、ハッシュ記号 (
#) で始まり、3 桁または 6 桁の0からFまでの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。この値は大文字と小文字を区別しません。したがって、カラー コード"#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"
次の表に、ライト テーマとダーク テーマでのプロットの既定のカラー パレットを示します。
パレット パレットの色 "gem"— ライト テーマの既定値R2025a より前: ほとんどのプロットで、これらの色が既定で使用されます。

"glow"— ダーク テーマの既定値
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 進数カラー コードを取得します。
例: はバーのエッジが赤い二変量ヒストグラム プロットを作成します。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' | 疑似照明効果でヒストグラムのバーが表示されます。バーの側面には上面よりも暗い色を使用します。バーは座標軸内の他の光源の影響を受けません。 これは、 |
'flat' | ヒストグラムのバーには自動的に照明が適用されません。他の light オブジェクトが存在する場合、照明効果はバーの面で一様になります。 |
'none' | ヒストグラムのバーには自動的に照明が適用されず、ライトはヒストグラムのバーに影響しません。
|
例: histogram2(X,Y,'FaceLighting','none') はヒストグラムのバーの照明をオフにします。
ライン スタイル。次の表にリストされたオプションのいずれかとして指定します。
| ライン スタイル | 説明 | 結果として得られる線 |
|---|---|---|
"-" | 実線 |
|
"--" | 破線 |
|
":" | 点線 |
|
"-." | 一点鎖線 |
|
"none" | ラインなし | ラインなし |
バーの外枠の幅。ポイント単位の正の値として指定します。1 ポイントは 1/72 インチです。
例: 1.5
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
出力引数
二変量ヒストグラム。オブジェクトとして返されます。詳細については、Histogram2 のプロパティ を参照してください。
プロパティ
| Histogram2 のプロパティ | 二変量ヒストグラムの外観と動作 |
例
10,000 組の乱数ペアを生成し、二変量ヒストグラムを作成します。関数 histogram2 は、x および y の値の範囲をカバーし、基となる分布の形状を示す適切なビンの数を自動的に選択します。
x = randn(10000,1); y = randn(10000,1); h = histogram2(x,y)
h =
Histogram2 with properties:
Data: [10000×2 double]
Values: [25×28 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.1294 0.1294 0.1294]
Show all properties
xlabel('x') ylabel('y')

関数 histogram2 の出力引数を指定すると、histogram2 オブジェクトが返されます。このオブジェクトを使用してビンの数やビンの幅などのヒストグラムのプロパティを調べることができます。
ヒストグラムの各次元のビンの数を調べます。
nXnY = h.NumBins
nXnY = 1×2
25 28
各次元に 5 個のビンを使用して、1,000 組の乱数ペアを 25 個の等間隔のビンに並べ替えた二変量ヒストグラムをプロットします。
x = randn(1000,1); y = randn(1000,1); nbins = 5; h = histogram2(x,y,nbins)

h =
Histogram2 with properties:
Data: [1000×2 double]
Values: [5×5 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.1294 0.1294 0.1294]
Show all properties
得られたビンのカウント数を求めます。
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: [1000×2 double]
Values: [15×15 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.1294 0.1294 0.1294]
Show all properties
関数 morebins を使用して x 次元のビンの数を大まかに調整します。
nbins = morebins(h,'x'); nbins = morebins(h,'x')

nbins = 1×2
19 15
関数 fewerbins を使用して y 次元のビンの数を調整します。
nbins = fewerbins(h,'y'); nbins = fewerbins(h,'y')

nbins = 1×2
19 11
ビンの数を明示的に設定して、ビンの数を細かいレベルで調整します。
h.NumBins = [20 10];

1,000 組の正規分布乱数と、各次元に 12 個のビンを使用して、二変量ヒストグラムを作成します。FaceColor を 'flat' に指定して、ヒストグラムのバーを高さ別に色分けします。
h = histogram2(randn(1000,1),randn(1000,1),[12 12],'FaceColor','flat'); colorbar

乱数データを生成し、二変量ヒストグラムのタイル配置をプロットします。ShowEmptyBins を 'on' に指定して、空のビンを表示します。
x = 2*randn(1000,1)+2; y = 5*randn(1000,1)+3; h = histogram2(x,y,'DisplayStyle','tile','ShowEmptyBins','on');

1,000 組の乱数ペアを生成し、二変量ヒストグラムを作成します。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: [1000×2 double]
Values: [12×12 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.1294 0.1294 0.1294]
Show all properties
ビンのエッジが無限大の場合、histogram2 は外れ値の各ビンをその隣のビンの 2 倍の幅をもつように (ヒストグラムの境界に沿って) 表示します。
Normalization プロパティを 'countdensity' に指定して、外れ値を含むビンを削除します。これで、各ビンの "ボリューム" は、その間隔での観測値の頻度を表します。
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: [1000×2 double]
Values: [15×15 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.1294 0.1294 0.1294]
Show all properties
バーの高さの合計を計算します。この正規化では、それぞれのバーの高さはそのビンの区間内の観測値が選択される確率に等しく、すべてのバーの高さの合計は 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")

1,000 組の乱数ペアを生成し、二変量ヒストグラムを作成します。プロット全体を再作成せずにヒストグラムのプロパティを調整するために histogram オブジェクトを返します。
x = randn(1000,1); y = randn(1000,1); h = histogram2(x,y)

h =
Histogram2 with properties:
Data: [1000×2 double]
Values: [15×15 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.1294 0.1294 0.1294]
Show all properties
ヒストグラムのバーを高さ別に色分けします。
h.FaceColor = 'flat';
各方向のビンの数を変更します。
h.NumBins = [10 25];

ヒストグラムをタイル プロットとして表示します。
h.DisplayStyle = 'tile';
view(2)
関数 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');
関数 findobj を使用して Figure のハンドルから正しいオブジェクト ハンドルを特定します。これによりこの Figure の生成に使用した元の histogram オブジェクトを引き続き操作できるようになります。
y = findobj(h,'type','histogram2')
y =
Histogram2 with properties:
Data: [100×2 double]
Values: [7×6 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.1294 0.1294 0.1294]
Show all properties
ヒント
histogram2を使用して作成したヒストグラム プロットのプロット編集モードには、Figure ウィンドウ内での対話型操作を可能にするコンテキスト メニューがあります。たとえば、コンテキスト メニューを使用して、ビンの数の変更、複数のヒストグラムの位置揃えまたは表示順序の変更を対話的に行うことができます。
拡張機能
この関数は tall 配列を制限付きでサポートしています。
一部の入力オプションはサポートされていません。使用可能なオプションは次のとおりです。
'BinWidth''XBinLimits''YBinLimits''Normalization''DisplayStyle''BinMethod'—'auto'ビン メソッドと'scott'ビン メソッドは同じです。'fd'ビン メソッドはサポートされていません。'EdgeAlpha''EdgeColor''FaceAlpha''FaceColor''LineStyle''LineWidth''Orientation'
さらに、バーの最大数には上限があります。既定の最大値は 100 です。
morebinsメソッドとfewerbinsメソッドはサポートされていません。ビンの再計算が必要な histogram オブジェクトのプロパティの編集はサポートされていません。
詳細については、メモリに収まらないデータの tall 配列を参照してください。
バージョン履歴
R2015b で導入名前と値の引数 Normalization を 'percentage' に設定することにより、縦軸にパーセンテージをもつヒストグラムを作成できます。
参考
Histogram2 のプロパティ | bar3 | discretize | fewerbins | morebins | histcounts2 | histcounts
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.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の 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)



