このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
histogram
ヒストグラム プロット

説明
ヒストグラムは数値データ用の棒グラフの一種で、データをビンにグループ分けします。Histogram
オブジェクトの作成後、プロパティ値を変更してヒストグラムの特性を変更できます。これは、ビンのプロパティをすばやく変えたり表示を変えたりするのに特に役立ちます。
作成
構文
説明
histogram(
は X
)X
のヒストグラム プロットを作成します。関数 histogram
は、一様な幅のビンを返す自動ビン化アルゴリズムを使用します。X
の要素の範囲をカバーし、分布の基本的な形状を明らかにするビンが選択されます。histogram
は四角形としてビンを表示し、個々の四角形の高さはビンの要素数を示します。
histogram(
は、C
,Categories
)Categories
で指定されたカテゴリのサブセットのみをプロットします。
histogram('Categories',
では、カテゴリおよび対応するビンのカウント数を手動で指定します。Categories
,'BinCounts',counts
)histogram
は指定されたビンのカウント数をプロットし、データのビン化は行いません。
histogram(___,
は、前述の任意の構文を用いて、1 つ以上の Name,Value
)Name,Value
のペアの引数を使用して追加オプションを指定します。たとえば、'BinWidth'
とスカラーを指定してビンの幅を調整したり、'Normalization'
と有効なオプション ('count'
、'probability'
、'countdensity'
、'pdf'
、'cumcount'
または 'cdf'
) を指定して別の種類の正規化を使用することができます。プロパティの一覧については、Histogram のプロパティ を参照してください。
histogram(
は、現在の座標軸 (ax
,___)gca
) の代わりに ax
によって指定される座標軸にプロットします。オプションの ax
は、前述の構文のすべての入力引数の組み合わせより前に指定できます。
は h
= histogram(___)Histogram
オブジェクトを返します。ヒストグラムのプロパティの検査や調整のためにこれを使用します。プロパティの一覧については、Histogram のプロパティ を参照してください。
入力引数
X
— ビンに分散させるデータ
ベクトル | 行列 | 多次元配列
ビンに分散させるデータ。ベクトル、行列または多次元配列として指定します。X
がベクトルでない場合、histogram
はそれを 1 つの列ベクトル X(:)
として扱い、1 つのヒストグラムをプロットします。
histogram
はすべての NaN
値と NaT
値を無視します。同様にビンのエッジとして明示的に Inf
または -Inf
を指定しない限り、histogram
は Inf
値および -Inf
値を無視します。通常、NaN
値、NaT
値、Inf
値、-Inf
値はプロットされませんが、'probability'
などのデータ要素の総数を含む正規化計算に引き続き含まれます。
メモ
X
に含まれる int64
型または uint64
型の整数が flintmax
より大きい場合、ヒストグラムのビンのエッジを明示的に指定することが推奨されます。histogram
は自動的に、倍精度を使用して入力データをビンに入れるので、flintmax
を超える数値では整数精度が低下します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| datetime
| duration
C
— categorical データ
categorical 配列
カテゴリカル データ。categorical 配列として指定します。histogram
は未定義のカテゴリカル値をプロットしません。ただし、未定義のカテゴリカル値は 'probability'
などのデータ要素の総数を含む正規化計算に引き続き含まれます。
データ型: categorical
nbins
— ビンの数
正の整数
ビンの数。正の整数として指定します。nbins
を指定しない場合、histogram
は X
の値に基づいて使用するビンの数を自動的に計算します。
例: histogram(X,15)
は 15 個のビンをもつヒストグラムを作成します。
edges
— ビンのエッジ
ベクトル
ビンのエッジ。ベクトルとして指定します。edges(1)
は最初のビンの左の端、edges(end)
は最後のビンの右の端です。
edges(k)
≤ X(i)
< edges(k+1)
の場合、値 X(i)
は k
番目のビンに含まれます。最後のビンにはビンの右端も含まれるため、edges(end-1)
≤ X(i)
≤ edges(end)
の場合に X(i)
が含まれます。
datetime データおよび duration データの場合、edges
は順に単調増加する datetime ベクトルまたは duration ベクトルでなければなりません。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| datetime
| duration
Categories
— ヒストグラムに含めるカテゴリ
文字ベクトルの cell 配列 | categorical 配列 | string 配列 | pattern
スカラー
メモ
このオプションはカテゴリカル ヒストグラムにのみ適用されます。
ヒストグラムに含めるカテゴリ。文字ベクトルの cell 配列、categorical 配列、string 配列、または pattern
スカラーとして指定します。
入力 categorical 配列
C
を指定すると、histogram
は既定でC
の各カテゴリのバーをプロットします。その場合にカテゴリの一意のサブセットを指定するには、Categories
を使用します。ビンのカウント数を指定する場合、
Categories
にはヒストグラムの関連するカテゴリ名を指定します。
例: h = histogram(C,{'Large','Small'})
は、カテゴリ 'Large'
および 'Small'
のカテゴリカル データのみをプロットします。
例: histogram(C,"Y" + wildcardPattern)
は、名前が文字 Y
で始まるカテゴリにあるデータをプロットします。
例: histogram('Categories',{'Yes','No','Maybe'},'BinCounts',[22 18 3])
は 3 つのカテゴリと関連するビンのカウント数をもつヒストグラムをプロットします。
例: h.Categories
は、histogram オブジェクト h
内にあるカテゴリをクエリします。
データ型: cell
| categorical
| string
| pattern
counts
— ビンのカウント数
ベクトル
ビンのカウント数。ベクトルとして指定します。ビンのカウント数の計算が個別に実行され、histogram
でデータのビン化を行わない場合、この入力を使用してビンのカウント数を histogram
に渡します。
counts
の長さはビン数と等しくなければなりません。
数値ヒストグラムの場合、ビン数は
length(edges)-1
です。カテゴリカル ヒストグラムの場合、ビン数はカテゴリの数と同じです。
例: histogram('BinEdges',-2:2,'BinCounts',[5 8 15 9])
例: histogram('Categories',{'Yes','No','Maybe'},'BinCounts',[22 18 3])
ax
— ターゲット座標軸
Axes
オブジェクト | PolarAxes
オブジェクト
ターゲット座標軸。Axes
オブジェクトまたは PolarAxes
オブジェクトとして指定します。座標軸を指定しない場合、および現在の座標軸が直交座標軸の場合、関数 histogram
は現在の座標軸 (gca
) を使用します。極座標軸にプロットするには、最初の入力引数として PolarAxes
オブジェクトを指定するか、関数 polarhistogram
を使用します。
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: histogram(X,'BinWidth',5)
ここでは、histogram プロパティの一部だけを紹介しています。完全な一覧については、Histogram のプロパティ を参照してください。
BarWidth
— カテゴリカル バーの相対的な幅
0.9
(既定値) | 範囲 [0,1]
のスカラー
メモ
このオプションは、カテゴリカル データのヒストグラムにのみ適用されます。
カテゴリカル バーの相対的な幅。範囲 [0,1]
のスカラー値として指定します。このプロパティは、ヒストグラム内にあるカテゴリカル バーの間隔を制御するために使用します。既定値の 0.9
は、バーの幅が前のバーから次のバーまでの間隔の 90 % で、その間隔の 5 % ずつがバーの両側にあることを示します。
このプロパティを 1
に設定すると、バー同士が隙間なく表示されます。
例: 0.5
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
BinLimits
— ビンの範囲
2 要素ベクトル
ビンの範囲。2 要素ベクトル [bmin,bmax]
として指定します。このオプションは、入力配列 X
の bmin
以上 bmax
以下の値を使用してヒストグラムをプロットします。つまり、X(X>=bmin & X<=bmax)
です。
このオプションは、カテゴリカル データのヒストグラムには適用されません。
例: histogram(X,'BinLimits',[1,10])
は 1
以上 10
以下の X
の値のみを使用してヒストグラムをプロットします。
BinLimitsMode
— ビンの範囲の選択モード
'auto'
(既定値) | 'manual'
ビンの範囲の選択モード。'auto'
または 'manual'
で指定します。既定値は 'auto'
であり、ビンの範囲はデータに合わせて自動的に調整されます。
BinLimits
または BinEdges
を明示的に指定した場合、BinLimitsMode
は自動的に 'manual'
に設定されます。この場合に BinLimitsMode
を 'auto'
に指定すると、ビンの範囲はデータに合わせて再びスケーリングされます。
このオプションは、カテゴリカル データのヒストグラムには適用されません。
BinMethod
— ビン化アルゴリズム
'auto'
(既定値) | 'scott'
| 'fd'
| 'integers'
| 'sturges'
| 'sqrt'
| ...
ビン化アルゴリズム。次の表のいずれかの値を指定します。
値 | 説明 |
---|---|
| 既定値の |
| スコットの法則はデータが正規分布に近い場合に最適です。この規則は他の多くの分布にも適しています。ビンの幅として |
| Freedman-Diaconis の法則は、データの外れ値の影響を受けにくく、裾が大きい分布をもつデータにより適しています。ビンの幅として |
| 整数ルールは整数ごとにビンを作成するため整数データで役立ちます。幅が 1 のビンを使用し、ビンのエッジを整数の中間に設定します。誤って多すぎるビンを作成しないように、このルールを使用して作成するビンを 65536 (216) 個以下に制限できます。データの範囲が 65,536 よりも大きい場合、整数ルールは代わりに幅の広いビンを使用します。 メモ
|
| Sturges の法則は簡単なためよく用いられています。ビンの数として |
| 平方根ルールは他のソフトウェア パッケージで広く使用されています。ビンの数として |
histogram
は、これらの式を厳密に使用してビンの数を選択するとは限りません。場合によっては、ビンのエッジが "きりのよい" 数字になるように、ビンの数がわずかに調整されることがあります。
datetime データの場合、ビン メソッドを次の時間単位のいずれかにすることができます。
'second' | 'month' |
'minute' | 'quarter' |
'hour' | 'year' |
'day' | 'decade' |
'week' | 'century' |
duration データの場合、ビン メソッドを次の時間単位のいずれかにすることができます。
'second' | 'day' |
'minute' | 'year' |
'hour' |
datetime データまたは duration データを使用して BinMethod
を指定する場合、histogram
は最大 65,536 (216) 個のビンを使用できます。指定したビンの期間にさらに多くのビンが必要となる場合、histogram
は最大のビン数に対応する、より大きいビンの幅を使用します。
このオプションは、カテゴリカル データのヒストグラムには適用されません。
メモ
BinLimits
、NumBins
、BinEdges
または BinWidth
プロパティを設定した場合、BinMethod
プロパティは 'manual'
に設定されます。
例: histogram(X,'BinMethod','integers')
は整数を中心とするビンをもつヒストグラムを作成します。
BinWidth
— ビンの幅
スカラー
ビンの幅。スカラーとして指定します。BinWidth
を指定する場合、histogram
は最大 65,536 (216) 個のビンを使用できます。指定したビンの幅によってさらに多くのビンが必要となる場合、histogram
は最大のビン数に対応するより大きなビンの幅を使用します。
datetime データおよび duration データの場合、'BinWidth'
の値をスカラー期間またはカレンダー期間にすることができます。
このオプションは、カテゴリカル データのヒストグラムには適用されません。
例: histogram(X,'BinWidth',5)
は幅が 5 のビンを使用します。
DisplayOrder
— カテゴリの表示順序
'data'
(既定値) | 'ascend'
| 'descend'
カテゴリの表示順序。'ascend'
、'descend'
、または 'data'
として指定します。'ascend'
または 'descend'
を使用すると、ヒストグラムには増加または減少するバーの高さが表示されます。既定の 'data'
値では、入力データ C
のカテゴリの順序を使用します。
このオプションは、カテゴリカル データでのみ機能します。
DisplayStyle
— ヒストグラムの表示スタイル
'bar'
(既定値) | 'stairs'
ヒストグラムの表示スタイル。'bar'
または 'stairs'
で指定します。'stairs'
を指定すると、内部を塗りつぶさずにヒストグラムの外枠を表示する階段状プロットを表示します。
既定値の 'bar'
はヒストグラムの棒グラフを表示します。
例: histogram(X,'DisplayStyle','stairs')
はヒストグラムの外枠をプロットします。
EdgeAlpha
— ヒストグラムのバーのエッジの透明度
1
(既定値) | 0
以上 1
以下のスカラー値
ヒストグラムのバーのエッジの透明度。0
以上 1
以下のスカラー値として指定します。1
の値は完全な不透明を、0
の値は完全な透明 (非表示) を意味します。
例: histogram(X,'EdgeAlpha',0.5)
はバーのエッジが半透明のヒストグラム プロットを作成します。
EdgeColor
— ヒストグラムのエッジの色
[0 0 0]
または黒 (既定値) | '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"
例: histogram(X,'EdgeColor','r')
はバーのエッジが赤いヒストグラム プロットを作成します。
FaceAlpha
— ヒストグラムのバーの透明度
0.6
(既定値) | 0
以上 1
以下のスカラー値
ヒストグラムのバーの透明度。0
以上 1
以下のスカラー値として指定します。histogram
は同じ透明度をヒストグラムのすべてのバーで使用します。1
の値は完全な不透明を、0
の値は完全な透明 (非表示) を意味します。
例: histogram(X,'FaceAlpha',1)
は完全に不透明なバーをもつヒストグラム プロットを作成します。
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'
に指定した場合、histogram
は FaceColor
プロパティを使用しません。
例: histogram(X,'FaceColor','g')
はバーが緑色のヒストグラム プロットを作成します。
LineStyle
— ライン スタイル
"-"
(既定値) | "--"
| ":"
| "-."
| "none"
ライン スタイル。次の表にリストされたオプションのいずれかとして指定します。
ライン スタイル | 説明 | 結果として得られる線 |
---|---|---|
"-" | 実線 |
|
"--" | 破線 |
|
":" | 点線 |
|
"-." | 一点鎖線 |
|
"none" | ラインなし | ラインなし |
LineWidth
— バーの外枠の幅
0.5
(既定値) | 正の値
バーの外枠の幅。ポイント単位の正の値として指定します。1 ポイントは 1/72 インチです。
例: 1.5
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Normalization
— 正規化のタイプ
'count'
(既定値) | 'probability'
| 'countdensity'
| 'pdf'
| 'cumcount'
| 'cdf'
正規化のタイプ。次の表のいずれかの値を指定します。各ビン i
に対して次のようになります。
はビンの値です。
はビン内の要素数です。
はビンの幅です。
は入力データ内の要素数です。データに
NaN
、NaT
、または<undefined>
値が含まれる場合、あるいは一部のデータがビンの範囲外にある場合、この値はビン化されたデータより大きくなることがあります。
値 | ビンの値 | メモ |
---|---|---|
'count' (既定) |
|
|
'countdensity' |
|
メモ
|
'cumcount' |
|
|
'probability' |
|
|
'pdf' |
|
メモ
|
'cdf' |
|
|
例: histogram(X,'Normalization','pdf')
は X
の確率密度関数の推定値をプロットします。
NumDisplayBins
— 表示するカテゴリ数
スカラー
表示するカテゴリ数。スカラーとして指定します。'DisplayOrder'
オプションを使用して、ヒストグラムに表示されるカテゴリの順序を変更できます。
このオプションは、カテゴリカル データでのみ機能します。
Orientation
— バーの向き
'vertical'
(既定値) | 'horizontal'
バーの向き。'vertical'
または 'horizontal'
で指定します。
例: histogram(X,'Orientation','horizontal')
は水平なバーをもつヒストグラム プロットを作成します。
ShowOthers
— 非表示カテゴリに属するデータの概要表示の切り替え
'off'
(既定値) | on/off logical 値
非表示カテゴリに属するデータの概要表示の切り替え。'on'
または 'off'
として、もしくは数値または logical 1
(true
) または 0
(false
) として指定します。'on'
の値は true
と等価であり、'off'
は false
と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState
型の on/off logical 値として格納されます。
このオプションを 'on'
に設定すると、ヒストグラムに 'Others'
という名前の追加のバーが表示されます。この追加のバーには、ヒストグラムに表示されるカテゴリに属さないすべての要素がカウントされます。
ヒストグラムに表示されるカテゴリ数とその順序は、'NumDisplayBins'
および 'DisplayOrder'
オプションを使用して変更できます。
このオプションは、カテゴリカル データでのみ機能します。
出力引数
h
— ヒストグラム
オブジェクト
ヒストグラム。オブジェクトとして返されます。詳細については、Histogram のプロパティ を参照してください。
プロパティ
Histogram のプロパティ | ヒストグラムの外観と動作 |
例
ベクトルのヒストグラム
10,000 個の乱数を生成してヒストグラムを作成します。関数 histogram
は、x
の値の範囲をカバーする適切なビンの数を自動的に選択し、基となる分布の形状を明らかにします。
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 2.4000 ... ] BinWidth: 0.2000 BinLimits: [-3.8000 3.6000] Normalization: 'count' FaceColor: 'auto' EdgeColor: [0 0 0] Show all properties
関数 histogram
の出力引数を指定すると、histogram オブジェクトが返されます。このオブジェクトを使用してビンの数やビンの幅などのヒストグラムのプロパティを調べることができます。
ヒストグラムのビンの数を調べます。
nbins = h.NumBins
nbins = 37
ヒストグラムのビン数の指定
1,000 個の乱数を 25 個の等間隔に配置されたビンに並べ替えたヒストグラムをプロットします。
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] Show all properties
ビンのカウント数を調べます。
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
ヒストグラムのビンの数の変更
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] Show all properties
関数 morebins
を使用してビンの数を大まかに調整します。
Nbins = morebins(h); Nbins = morebins(h)
Nbins = 29
ビンの数を明示的に設定することにより、ビンが細分化されるように調整します。
h.NumBins = 31;
ヒストグラムのビン エッジの指定
1,000 個の乱数を生成してヒストグラムを作成します。 を満たさない外れ値を取得するために、ヒストグラムの両端に広いビンをもつビン エッジをベクトルとして指定します。ベクトルの最初の要素は最初のビンの左の端で、ベクトルの最後の要素は最後のビンの右の端です。
x = randn(1000,1); edges = [-10 -2:0.25:2 10]; h = histogram(x,edges);
Normalization
プロパティを 'countdensity'
に指定して、外れ値を含むビンをフラットにします。これにより、それぞれのビンの (高さではなく) "面積" でその区間の観測頻度を表します。
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] 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] Show all properties
バーの高さの合計を計算します。この正規化では、それぞれのバーの高さはそのビンの区間内の観測値が選択される確率に等しく、すべてのバーの高さを合計すると 1 になります。
S = sum(h.Values)
S = 1
複数のヒストグラム プロット
乱数の 2 つのベクトルを生成し、それぞれのベクトルのヒストグラムを同じ Figure にプロットします。
x = randn(2000,1);
y = 1 + randn(5000,1);
h1 = histogram(x);
hold on
h2 = histogram(y);
ヒストグラムの標本サイズとビンの幅が異なるため、これらを比較することは困難です。すべてのバーの高さを足すと 1 になるようにヒストグラムを正規化し、統一されたビンの幅を使用します。
h1.Normalization = 'probability'; h1.BinWidth = 0.25; h2.Normalization = 'probability'; h2.BinWidth = 0.25;
ヒストグラムのプロパティの調整
1,000 個の乱数を生成してヒストグラムを作成します。プロット全体を再作成せずにヒストグラムのプロパティを調整するために histogram オブジェクトを返します。
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] Show all properties
使用するビンの数を正確に指定します。
h.NumBins = 15;
ビンのエッジをベクトルで指定します。ベクトルの最初の値は最初のビンの左の端です。最後の値は最後のビンの右の端です。
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)
histogram オブジェクトの保存と読み込み
関数 savefig
を使用して histogram
の Figure を保存します。
histogram(randn(10)); savefig('histogram.fig'); close gcf
openfig
を使用してヒストグラムの Figure を MATLAB® に再度読み込みます。openfig
は Figure のハンドル h
も返します。
h = openfig('histogram.fig');
関数 findobj
を使用して Figure のハンドルから正しいオブジェクト ハンドルを特定します。これによりこの Figure の生成に使用した元の histogram オブジェクトを引き続き操作できるようになります。
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] Show all properties
ヒント
histogram
を使用して作成したヒストグラム プロットのプロット編集モードには、Figure ウィンドウ内での対話型操作を可能にするコンテキスト メニューがあります。たとえば、コンテキスト メニューを使用して、ビン数の変更、複数のヒストグラムの位置揃えまたは表示順序の変更を対話的に行うことができます。データ ヒントをヒストグラム プロットに追加すると、データ ヒントにビンのエッジとビンのカウント数が表示されます。
拡張機能
tall 配列
メモリの許容量を超えるような多数の行を含む配列を計算します。
この関数は tall 配列を制限付きでサポートしています。
一部の入力オプションはサポートされていません。使用可能なオプションは次のとおりです。
'BinWidth'
'BinLimits'
'Normalization'
'DisplayStyle'
'BinMethod'
—'auto'
ビン メソッドと'scott'
ビン メソッドは同じです。'fd'
ビン メソッドはサポートされていません。'EdgeAlpha'
'EdgeColor'
'FaceAlpha'
'FaceColor'
'LineStyle'
'LineWidth'
'Orientation'
さらに、バーの最大数には上限があります。既定の最大値は 100 です。
morebins
メソッドとfewerbins
メソッドはサポートされていません。ビンの再計算が必要な histogram オブジェクトのプロパティの編集はサポートされていません。
詳細については、メモリに収まらないデータの tall 配列を参照してください。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
使用上の注意事項および制限事項:
この関数は GPU 配列を受け入れますが、GPU 上では実行されません。
詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
分散配列
Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。
使用上の注意事項および制限事項:
この関数は分散配列に対して演算を行いますが、クライアントの MATLAB で実行されます。
詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2014b で導入
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)