このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
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
— ビンに分散させるデータ (個別の引数として指定)
ベクトル | 行列 | 多次元配列
ビンに分散させるデータ。ベクトル、行列または多次元配列の個別の引数として指定します。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
nbins
— 各次元のビンの数
正の整数スカラー | 正の整数の 2 要素ベクトル
各次元のビンの数。正のスカラー整数、あるいは正の整数の 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 個のビンを使用します。
Xedges
— x 次元のビンのエッジ
ベクトル
x 次元のビンのエッジ。ベクトルとして指定します。最初の要素は、x 次元の最初のビンの先頭のエッジを指定します。最後の要素は、x 次元の最後のビンの後方のエッジを指定します。後方のエッジは最後のビンにのみ含まれます。
Xedges
とYedges
をBinMethod
、BinWidth
、またはNumBins
と一緒に指定した場合、histogram2
はビンのエッジのみに従い、ビンのエッジは最後に指定する必要があります。Xedges
をXBinLimits
と一緒に指定した場合、histogram2
はXedges
のみに従い、Xedges
は最後に指定する必要があります。
Yedges
— y 次元のビンのエッジ
ベクトル
y 次元のビンのエッジ。ベクトルとして指定します。最初の要素は、y 次元の最初のビンの先頭のエッジを指定します。最後の要素は、y 次元の最後のビンの後方のエッジを指定します。後方のエッジは最後のビンにのみ含まれます。
Yedges
とXedges
をBinMethod
、BinWidth
、またはNumBins
と一緒に指定した場合、histogram2
はビンのエッジのみに従い、ビンのエッジは最後に指定する必要があります。Yedges
をYBinLimits
と一緒に指定した場合、histogram2
はYedges
のみに従い、Yedges
は最後に指定する必要があります。
counts
— ビンのカウント数
行列
ビンのカウント数。行列として指定します。ビンのカウント数の計算が個別に実行され、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])
ax
— axes オブジェクト
オブジェクト
axes オブジェクト。座標軸を指定しない場合、関数 histogram2
は現在の座標軸 (gca
) を使用します。
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
例: histogram2(X,Y,BinWidth=[5 10])
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: histogram2(X,Y,'BinWidth',[5 10])
メモ
ここでは、プロパティの一部だけを紹介しています。完全な一覧については、Histogram2 のプロパティ を参照してください。
BinWidth
— 各次元のビンの幅
正の値の 2 要素ベクトル
各次元のビンの幅。正の値の 2 要素ベクトルとして指定します。最初の要素は x 次元のビンの幅を指定し、2 番目の要素は y 次元のビンの幅を指定します。
BinWidth
を指定した場合、histogram2
は各次元で最大 1024 (210) 個のビンを使用できます。指定したビンの幅によってさらに多くのビンが必要となる場合、histogram2
は最大のビン数に対応する、より大きなビンの幅を使用します。
BinWidth
を BinMethod
または NumBins
と一緒に指定した場合、histogram2
は最後のパラメーターのみに従います。
例:
は histogram2
(X,Y,'BinWidth',[5 10])x
次元のサイズが 5
、y
次元のサイズが 10 のビンを使用します。
XBinLimits
— x 次元のビンの範囲
2 要素ベクトル
x 次元のビンの範囲。2 要素ベクトル [xbmin,xbmax]
として指定します。最初の要素は、x 次元の最初のビンのエッジを示します。2 番目の要素は、x 次元の最後のビンのエッジを示します。
このオプションを使用すると、ビンの範囲 X>=xbmin & X<=xbmax
に含まれるデータのみがビンに入れられます。
XBinLimitsMode
— x
次元のビンの範囲の選択モード
'auto'
(既定値) | 'manual'
x
次元のビンの範囲の選択モード。'auto'
または 'manual'
として指定します。既定値は 'auto'
であり、ビンの範囲は x 軸方向のデータに合わせて自動的に調整されます。
XBinLimits
または XBinEdges
を明示的に指定した場合、XBinLimitsMode
は自動的に 'manual'
に設定されます。この場合に XBinLimitsMode
を 'auto'
に指定すると、ビンの範囲はデータに合わせて再びスケーリングされます。
YBinLimits
— y 次元のビンの範囲
2 要素ベクトル
y 次元のビンの範囲。2 要素ベクトル [ybmin,ybmax]
として指定します。最初の要素は、y 次元の最初のビンのエッジを示します。2 番目の要素は、y 次元の最後のビンのエッジを示します。
このオプションを使用すると、ビンの範囲 Y>=ybmin & Y<=ybmax
に含まれるデータのみがビンに入れられます。
YBinLimitsMode
— y 次元のビンの範囲の選択モード
'auto'
(既定値) | 'manual'
y 次元のビンの範囲の選択モード。'auto'
または 'manual'
として指定します。既定値は 'auto'
であり、ビンの範囲は y 軸方向のデータに合わせて自動的に調整されます。
YBinLimits
または YBinEdges
を明示的に指定した場合、YBinLimitsMode
は自動的に 'manual'
に設定されます。この場合に YBinLimitsMode
を 'auto'
に指定すると、ビンの範囲はデータに合わせて再びスケーリングされます。
BinMethod
— ビン化アルゴリズム
'auto'
(既定値) | 'scott'
| 'fd'
| 'integers'
ビン化アルゴリズム。次の表のいずれかの値を指定します。
値 | 説明 |
---|---|
'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')
ShowEmptyBins
— 空のビンの表示トグル
'off'
(既定値) | 'on'
空のビンの表示トグル。'off'
または 'on'
として指定します。既定値は 'off'
です。
例: histogram2(X,Y,'ShowEmptyBins','on')
は空のビンの表示をオンにします。
Normalization
— 正規化のタイプ
'count'
(既定値) | 'probability'
| 'percentage'
| 'countdensity'
| 'cumcount'
| 'pdf'
| 'cdf'
正規化のタイプ。次の表のいずれかの値を指定します。各ビン i
に対して次のようになります。
はビンの値です。
はビン内の要素数です。
はビンの面積で、ビンの幅 x と y を使用して計算されます。
は入力データ内の要素数です。データに欠損値が含まれる場合、または一部のデータがビンの範囲外にある場合、この値はビン化されたデータより大きくなることがあります。
値 | ビンの値 | メモ |
---|---|---|
'count' (既定) |
|
|
'probability' |
|
|
'percentage' |
|
|
'countdensity' |
|
|
'cumcount' |
|
|
'pdf' |
|
|
'cdf' |
|
|
例:
は、確率密度関数の推定値を使用してデータをビン化します。histogram2
(X,Y,'Normalization','pdf')
DisplayStyle
— ヒストグラムの表示スタイル
'bar3'
(既定値) | 'tile'
ヒストグラムの表示スタイル。'bar3'
または 'tile'
で指定します。
'bar3'
— 3 次元バーを使用してヒストグラムを表示します。'tile'
— ビンの値を示す色をもつタイルの方形配列としてヒストグラムを表示します。
例: histogram2(X,Y,'DisplayStyle','tile')
はヒストグラムをタイルの方形配列としてプロットします。
FaceColor
— ヒストグラムのバーの色
'auto'
(既定値) | 'none'
| RGB 3 成分 | 16 進数カラー コード | 色名
ヒストグラムのバーの色。次の値の 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"
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'
に指定した場合、histogram2
は FaceColor
プロパティを使用しません。
例:
はバーが緑色の二変量ヒストグラム プロットを作成します。histogram2
(X,Y,'FaceColor','g')
EdgeColor
— ヒストグラムのエッジの色
[0.15 0.15 0.15]
(既定値) | 'none'
| 'auto'
| RGB 3 成分 | 16 進数カラー コード | 色名
ヒストグラムのエッジの色。次の値の 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"
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"
例:
はバーのエッジが赤い二変量ヒストグラム プロットを作成します。histogram2
(X,Y,'EdgeColor','r')
FaceAlpha
— ヒストグラムのバーの透明度
1
(既定値) | [0,1]
の範囲のスカラー値
ヒストグラムのバーの透明度。範囲 [0,1]
のスカラー値として指定します。histogram2
は同じ透明度をヒストグラムのすべてのバーで使用します。1
の値は完全な不透明を、0
の値は完全な透明 (非表示) を意味します。
例: histogram2(X,Y,'FaceAlpha',0.5)
は半透明のバーをもつ二変量ヒストグラム プロットを作成します。
EdgeAlpha
— ヒストグラムのバーのエッジの透明度
1
(既定値) | 範囲 [0,1]
のスカラー
ヒストグラムのバーのエッジの透明度。範囲 [0,1]
のスカラー値として指定します。1
の値は完全な不透明を、0
の値は完全な透明 (非表示) を意味します。
例: histogram2(X,Y,'EdgeAlpha',0.5)
はバーのエッジが半透明の二変量ヒストグラム プロットを作成します。
FaceLighting
— ヒストグラムのバーに対する照明効果
'lit'
(既定値) | 'flat'
| 'none'
ヒストグラムのバーに対する照明効果。以下のいずれかの値として指定します。
値 | 説明 |
---|---|
'lit' | 疑似照明効果でヒストグラムのバーが表示されます。バーの側面には上面よりも暗い色を使用します。バーは座標軸内の他の光源の影響を受けません。 これは、 |
'flat' | ヒストグラムのバーには自動的に照明が適用されません。他の light オブジェクトが存在する場合、照明効果はバーの面で一様になります。 |
'none' | ヒストグラムのバーには自動的に照明が適用されず、ライトはヒストグラムのバーに影響しません。
|
例: histogram2(X,Y,'FaceLighting','none')
はヒストグラムのバーの照明をオフにします。
LineStyle
— ライン スタイル
"-"
(既定値) | "--"
| ":"
| "-."
| "none"
ライン スタイル。次の表にリストされたオプションのいずれかとして指定します。
ライン スタイル | 説明 | 結果として得られる線 |
---|---|---|
"-" | 実線 |
|
"--" | 破線 |
|
":" | 点線 |
|
"-." | 一点鎖線 |
|
"none" | ラインなし | ラインなし |
LineWidth
— バーの外枠の幅
0.5
(既定値) | 正の値
バーの外枠の幅。ポイント単位の正の値として指定します。1 ポイントは 1/72 インチです。
例: 1.5
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
出力引数
h
— 二変量ヒストグラム
オブジェクト
二変量ヒストグラム。オブジェクトとして返されます。詳細については、Histogram2 のプロパティ を参照してください。
プロパティ
Histogram2 のプロパティ | 二変量ヒストグラムの外観と動作 |
例
ベクトルのヒストグラム
10,000 組の乱数ペアを生成し、二変量ヒストグラムを作成します。関数 histogram2
は、x
および y
の値の範囲をカバーし、基となる分布の形状を示す適切なビンの数を自動的に選択します。
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')
関数 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: [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
得られたビンのカウント数を求めます。
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: [-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 次元のビンの数を大まかに調整します。
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: [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
ビンのエッジが無限大の場合、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: [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
バーの高さの合計を計算します。この正規化では、それぞれのバーの高さはそのビンの区間内の観測値が選択される確率に等しく、すべてのバーの高さの合計は 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: [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';
各方向のビンの数を変更します。
h.NumBins = [10 25];
ヒストグラムをタイル プロットとして表示します。
h.DisplayStyle = 'tile';
view(2)
histogram2 オブジェクトの保存と読み込み
関数 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: [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 ウィンドウ内での対話型操作を可能にするコンテキスト メニューがあります。たとえば、コンテキスト メニューを使用して、ビン数の変更、複数のヒストグラムの位置揃えまたは表示順序の変更を対話的に行うことができます。
拡張機能
tall 配列
メモリの許容量を超えるような多数の行を含む配列を計算します。
この関数は tall 配列を制限付きでサポートしています。
一部の入力オプションはサポートされていません。使用可能なオプションは次のとおりです。
'BinWidth'
'XBinLimits'
'YBinLimits'
'Normalization'
'DisplayStyle'
'BinMethod'
—'auto'
ビン メソッドと'scott'
ビン メソッドは同じです。'fd'
ビン メソッドはサポートされていません。'EdgeAlpha'
'EdgeColor'
'FaceAlpha'
'FaceColor'
'LineStyle'
'LineWidth'
'Orientation'
さらに、バーの最大数には上限があります。既定の最大値は 100 です。
morebins
メソッドとfewerbins
メソッドはサポートされていません。ビンの再計算が必要な histogram オブジェクトのプロパティの編集はサポートされていません。
詳細については、メモリに収まらないデータの tall 配列を参照してください。
バージョン履歴
R2015b で導入R2023b: パーセンテージを使用した正規化
名前と値の引数 Normalization
を 'percentage'
に設定することにより、縦軸にパーセンテージをもつヒストグラムを作成できます。
参考
Histogram2 のプロパティ | bar3
| discretize
| fewerbins
| morebins
| histcounts2
| histcounts
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは 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)