ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

boxplot

説明

boxplot(x) は、x 内のデータの箱ひげ図を作成します。x がベクトルの場合、boxplot は 1 つのボックスをプロットします。x が行列の場合、boxplotx の各列について 1 つずつボックスをプロットします。

各ボックスにおいて、中央の印は中央値を、ボックスの上下の端はそれぞれ 25 番目と 75 番目の百分位数を示します。ひげは、外れ値とは見なされない最も極端なデータ点まで延びます。外れ値は、'+' 記号を使用して個別にプロットされます。

boxplot(x,g) は、g に格納されている 1 つ以上のグループ化変数を使用して箱ひげ図を作成します。boxplot は、g の値が同じである x の値セットのそれぞれについて別々のボックスを作成します。

boxplot(ax,___) は、前の構文のいずれかを使用し、axes グラフィックス オブジェクト ax で指定された座標軸を使用して箱ひげ図を作成します。

boxplot(___,Name,Value) は、1 つ以上の Name,Value ペア引数で指定された追加オプションを使用して箱ひげ図を作成します。たとえば、ボックスのスタイルや順序を指定できます。

すべて折りたたむ

標本データを読み込みます。

load carsmall

ガロンあたりの走行マイル数 (MPG) の測定値から箱ひげ図を作成します。タイトルを追加して軸のラベルを設定します。

boxplot(MPG)
xlabel('All Vehicles')
ylabel('Miles per Gallon (MPG)')
title('Miles per Gallon for All Vehicles')

この箱ひげ図は、標本データに含まれているすべての自動車についてガロンあたりの走行マイル数の中央値が約 24 であることを示しています。最小値は約 9、最大値は約 44 です。

標本データを読み込みます。

load carsmall

標本データのガロンあたりの走行マイル数 (MPG) の測定値を自動車の生産国 (Origin) 別にグループ化して箱ひげ図を作成します。タイトルを追加して軸のラベルを設定します。

boxplot(MPG,Origin)
title('Miles per Gallon by Vehicle Origin')
xlabel('Country of Origin')
ylabel('Miles per Gallon (MPG)')

各ボックスは、特定の国の自動車の MPG データを視覚的に表しています。Italy のボックスが単一の線として表示されているのは、このグループの観測値が標本データに 1 つしか含まれていないためです。

2 組の標本データを作成します。最初の標本 x1 は、mu = 5sigma = 1 の正規分布から生成された乱数を含んでいます。2 番目の標本 x2 は、mu = 6sigma = 1 の正規分布から生成された乱数を含んでいます。

rng default  % For reproducibility
x1 = normrnd(5,1,100,1);
x2 = normrnd(6,1,100,1);

x1x2 のノッチのある箱ひげ図を作成します。各ボックスに、対応する mu 値でラベルを設定します。

figure
boxplot([x1,x2],'Notch','on','Labels',{'mu = 5','mu = 6'})
title('Compare Random Data from Different Distributions')

この箱ひげ図は、2 つのグループの中央値の差が約 1 であることを示しています。箱ひげ図でノッチが重なっていないので、95% の信頼度で真の中央値が異なると結論付けることができます。

次の図は、ひげの最大長を四分位数間範囲の 1.0 倍に指定した、同じデータの箱ひげ図を示しています。ひげの範囲外にあるデータ点は、+ を使用して示されています。

figure
boxplot([x1,x2],'Notch','on','Labels',{'mu = 5','mu = 6'},'Whisker',1)
title('Compare Random Data from Different Distributions')

ひげを短くすると、boxplot はより多くのデータ点を外れ値として表示します。

標本データとして使用するために、標準正規分布から生成された 100 行 25 列の乱数の行列を作成します。

rng default  % For reproducibility
x = randn(100,25);

同じ図に x のデータの 2 つの箱ひげ図を作成します。上のプロットでは既定の書式設定を、下のプロットではコンパクトな書式設定を使用します。

figure

subplot(2,1,1)
boxplot(x)

subplot(2,1,2)
boxplot(x,'PlotStyle','compact')

各プロットは同じデータを表していますが、ボックス数が多いプロットではコンパクトな書式設定の方が可読性が向上する可能性があります。

グループ化変数を使用して、長さが異なる複数のデータ ベクトルの箱ひげ図を作成します。

長さが異なる 3 つの列ベクトルを無作為に生成します。長さは、それぞれ 51015 にします。データを結合して、長さが 30 である単一の列ベクトルにします。

rng('default')  % For reproducibility
x1 = rand(5,1);
x2 = rand(10,1);
x3 = rand(15,1);
x = [x1; x2; x3];

グループ化変数を作成し、x 内の同じベクトルに対応する行に同じ値を割り当てます。たとえば、x の最初の 5 行はすべて同じベクトル x1 に由来するので、g の最初の 5 行は同じ値 First になります。

g1 = repmat({'First'},5,1);
g2 = repmat({'Second'},10,1);
g3 = repmat({'Third'},15,1);
g = [g1; g2; g3];

箱ひげ図を作成します。

boxplot(x,g)

入力引数

すべて折りたたむ

入力データ。数値ベクトルまたは数値行列を指定します。x がベクトルの場合、boxplot は 1 つのボックスをプロットします。x が行列の場合、boxplotx の各列について 1 つずつボックスをプロットします。

各ボックスにおいて、中央の印は中央値を、ボックスの上下の端はそれぞれ 25 番目と 75 番目の百分位数を示します。ひげは、外れ値とは見なされない最も極端なデータ点まで延びます。外れ値は、'+' 記号を使用して個別にプロットされます。

データ型: single | double

グループ化変数。数値ベクトル、文字配列、string 配列、cell 配列または categorical 配列を指定します。これらの型の変数または行列の cell 配列を使用すると、複数のグループ化変数を g で指定できます。複数のグループ化変数を指定する場合、すべて同じ長さでなければなりません。

x がベクトルの場合、x の各要素に対して 1 つずつの行がグループ化変数に含まれていなければなりません。x が行列の場合、x の各列に対して 1 つずつの行がグループ化変数に含まれていなければなりません。欠損値 (NaN)、空文字ベクトル、空の string、<missing>、または <undefined> 値がグループ化変数に含まれているグループは除外され、他のパラメーターで考慮するグループ数にはカウントされません。

既定の設定では、boxplot は文字および string のグループ化変数をデータに現れる順序で、カテゴリカル グループ化変数をレベルの順序で、数値グループ化変数を数値順で並べ替えます。グループの順序を制御するには、次のいずれかを行います。

  • g のカテゴリカル変数を使用して、レベル順を指定する。

  • 名前と値のペアの引数 'GroupOrder' を使用する。

  • データをあらかじめ並べ替えておく。

データ型: single | double | char | string | cell | カテゴリカル

プロットに使用する座標軸。axes グラフィックス オブジェクトとして指定します。ax を指定しなかった場合、boxplot は現在の座標軸を使用してプロットを作成します。axes グラフィックス オブジェクトを作成する方法の詳細については、axesAxes のプロパティ を参照してください。

名前と値のペアの引数

オプションの Name,Value 引数のコンマ区切りペアを指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を、任意の順番で指定できます。

例: 'Notch','on','Labels',{'mu = 5','mu = 6'} は、ノッチのある箱ひげ図を作成し、左から右の順で 2 つのボックスに mu = 5 および mu = 6 というラベルを付けます。

ボックスの外観

すべて折りたたむ

ボックスのスタイル。'BoxStyle' と次のいずれかから構成されるコンマ区切りのペアとして指定します。

名前
'outline'点線のひげを使用して、塗りつぶされていないボックスをプロットします。これは、'PlotStyle''traditional' の場合の既定設定です。
'filled'実線のひげを使用して、塗りつぶされた幅の狭いボックスをプロットします。これは、'PlotStyle''compact' の場合の既定設定です。

例: 'BoxStyle','filled'

ボックスの色。'Colors' と RGB 3 成分、文字ベクトルまたは string スカラーから構成されるコンマ区切りのペアとして指定します。RGB 3 成分は、各要素がそれぞれ色の赤、緑および青の成分の強度を指定する 3 要素の行ベクトルです。各強度は、[0,1] の範囲内でなければなりません。

次の表に、使用可能な色指定文字および対応する RGB 3 成分の値を示します。

完全名省略名RGB 3 成分
'y'[1 1 0]
赤紫'm'[1 0 1]
シアン'c'[0 1 1]
'r'[1 0 0]
'g'[0 1 0]
'b'[0 0 1]
'w'[1 1 1]
'k'[0 0 0]

複数の色は、文字ベクトルまたは string スカラーによる色の名前 ('rgbm' など)、または RGB 値による 3 列の行列によって指定できます。この並びは必要に応じて複製されるか打ち切られるので、たとえば 'rb' を指定すると、赤と青のボックスが交互にプロットされます。

名前と値のペアの引数 'ColorGroup' を指定しなかった場合、boxplot はすべてのボックスについて同じ配色を使用します。'ColorGroup' を指定した場合、既定設定は修正 hsv colormap になります。

例: 'Colors','rgbm'

中央値のスタイル。'MedianStyle' と次のいずれかから構成されるコンマ区切りのペアとして指定します。

名前
'line'中央値を表す線を各ボックスに描画します。'PlotStyle''traditional' の場合、これが既定値になります。
'target'中央値を表す白い円内の黒い点を各ボックスに描画します。'PlotStyle''compact' の場合、これが既定値になります。

例: 'MedianStyle','target'

比較区間のマーカー。'Notch' と次のいずれかから構成されるコンマ区切りのペアとして指定します。

名前
'off'ボックスの表示から比較区間を省きます。
'on''PlotStyle''traditional' の場合、ノッチを使用して比較区間を描画します。'PlotStyle''compact' の場合、三角形のマーカーを使用して比較区間を描画します。
'marker'三角形のマーカーを使用して比較区間を描画します。

区間が重なっていない場合、2 つの中央値は有意水準 5% で有意差があります。boxplot は、ノッチの両端または三角形のマーカーの中心を使用して区間の両端点を表します。端は q2 - 1.57(q3 - q1)/sqrt(n)q2 + 1.57(q3 - q1)/sqrt(n) に対応します。ここで、q2 は中央値 (50 番目の百分位数)、q1q3 はそれぞれ 25 番目と 75 番目の百分位数、n は NaN 値を除いた観測数です。標本サイズが小さい場合、ノッチがボックスの端を超えて伸びる可能性があります。

例: 'Notch','on'

外れ値のマーカー サイズ。'OutlierSize' と正の数値から構成されるコンマ区切りのペアとして指定します。指定された値は、ポイント単位のマーカー サイズを表します。

'PlotStyle''traditional' の場合、OutlierSize の既定値は 6 です。'PlotStyle''compact' の場合、OutlierSize の既定値は 4 です。

例: 'OutlierSize',8

データ型: single | double

プロットのスタイル。'PlotStyle' と次のいずれかから構成されるコンマ区切りのペアとして指定します。

名前
'traditional'従来のボックス スタイルを使用してボックスをプロットします。
'compact'グループ数が多いプロット用に設計されている、小さいボックス スタイルを使用してボックスをプロットします。このスタイルでは、他の一部のパラメーターの既定設定が変化します。

例: 'PlotStyle','compact'

外れ値の記号と色。'Symbol' とライン仕様から構成されるコンマ区切りのペアとして指定します。使用可能なライン仕様の詳細については、plotLineSpec パラメーターを参照してください。

'PlotStyle''traditional' の場合、既定値は 'r+' になり、赤い '+' 記号が各外れ値のプロットに使用されます。

'PlotStyle''compact' の場合、既定値は 'o' になり、対応するボックスと同じ色の 'o' 記号が各外れ値のプロットに使用されます。

記号を省略した場合、外れ値は表示されません。色を省略した場合、外れ値はボックスと同じ色で表示されます。

例: 'kx'

ボックスの幅。'Widths' と数値スカラーまたは数値ベクトルから構成されるコンマ区切りのペアとして指定します。ボックスの数と異なる数の幅の値を指定した場合、必要に応じて値のリストが複製されるか打ち切られます。

この名前と値のペアの引数を指定しても、ボックス間の間隔は変化しません。したがって、大きい値の 'Widths' を指定した場合、ボックスが重なる可能性があります。

既定のボックスの幅は、ボックス間の最小分離の半分に等しくなります。名前と値のペアの引数 'Positions' で既定値を使用した場合、これは 0.5 になります。

例: 'Widths',0.3

データ型: single | double

グループの外観

すべて折りたたむ

ボックスの色を変更するためのグループ化変数。'ColorGroup' とグループ化変数から構成されるコンマ区切りのペアとして指定します。グループ化変数は、数値ベクトル、文字配列、string 配列、cell 配列または categorical 配列です。指定されたグループ化変数が変化すると、ボックスの色が変化します。既定値の [] は、ボックスの色がグループに基づいては変化しないことを示します。

データ型: single | double | char | string | cell | カテゴリカル

プロットにおける因子の順序。'FactorDirection' と次のいずれかから構成されるコンマ区切りのペアとして指定します。

名前
'data'因子は、1 番目の値がプロットの原点の隣に来るように表示されます。
'list'因子は、x 軸の場合は左から右に、y 軸の場合は上から下に表示されます。
'auto'グループ化変数が数値の場合、boxplot'data' を使用します。グループ化変数が文字配列、string 配列、cell 配列または categorical 配列の場合、boxplot'list' を使用します。

すべてのグループ因子のプロット。'FullFactors''off' または 'on' のいずれかから構成されるコンマ区切りのペアとして指定します。'off' の場合、boxplot はグループ化変数の一意な行ごとに 1 つずつボックスをプロットします。'on' の場合、boxplot はグループ化変数の値について可能な組み合わせ (データに現れないものを含む) のそれぞれについて 1 つずつボックスをプロットします。

例: 'FullFactors','on'

異なるグループ化因子間の距離。'FactorGap' と正の数値、正の数値のベクトルまたは 'auto' から構成されるコンマ区切りのペアとして指定します。ベクトルを指定する場合、ベクトルの長さはグループ化変数の数以下でなければなりません。

'FactorGap' は、グループ化変数の異なる因子の間のギャップの距離を、プロットの幅の比率として表します。たとえば、[3,1] を指定した場合のギャップは、1 番目のグループ化変数の値が異なるグループの間ではプロットの幅の 3%、1 番目のグループ化変数の値が同じで 2 番目のグループ化変数の値が異なるグループの間では 1% になります。

'auto' を指定した場合、boxplot はギャップの距離を自動的に選択します。値 [] は、異なる因子間でギャップのサイズが変化しないことを示します。

'PlotStyle''traditional' の場合、FactorGap の既定値は [] になります。'PlotStyle''compact' の場合、既定値は 'auto' になります。

例: 'FactorGap',[3,1]

データ型: single | double | char | string

グループ化因子間の分離。'FactorSeparator' と正の整数、正の整数のベクトルまたは 'auto' から構成されるコンマ区切りのペアとして指定します。ベクトルを指定する場合、ベクトルの長さはグループ化変数の数以下でなければなりません。整数値は、[1,G] の範囲内でなければなりません。ここで、G はグループ化変数の数です。

'FactorSeparator' では、グリッド線で値を分離する因子を指定します。たとえば、[1,2] は 1 番目または 2 番目のグループ化変数で値が変化する場合に分離線を追加します。

'PlotStyle''traditional' の場合、FactorSeparator の既定値は [] になります。'PlotStyle''compact' の場合、既定値は 'auto' になります。

例: 'FactorSeparator',[1,2]

データ型: single | double | char | string

グループのプロット順序。'GroupOrder' とグループ化変数の名前が格納されている string 配列または cell 配列から構成されるコンマ区切りのペアとして指定します。グループ化変数が複数ある場合、値をコンマで区切ります。グループ化変数として categorical 配列を使用してボックスの順序を制御することもできます。既定の [] では、ボックスの順序は変更されません。

データ型: string | cell

データの範囲と最大距離

すべて折りたたむ

極値データの範囲。'DataLim' と下限および上限を含む 2 要素数値ベクトルから構成されるコンマ区切りのペアとして指定します。'DataLim' で指定した値は、どのデータ点が極値であるかを判断するために 'ExtremeMode' で使用されます。

データ型: single | double

極値データの処理方法。'ExtremeMode' と次のいずれかから構成されるコンマ区切りのペアとして指定します。

名前
'clip''DataLim' で指定された範囲から外れているデータ値がある場合、boxplot はこれらの値をプロットで DataLim の位置に表示します。
'compress''DataLim' で指定された範囲から外れているデータ値がある場合、boxplot は点の相対的な順序を変更せずにこれらの値を DataLim のすぐ外側の領域に均等に分散させて表示します。

'DataLim' で指定された範囲から外れているデータ点がある場合、範囲は点線でマークされます。圧縮されているデータ点がある場合、圧縮領域は 2 本の灰色の線でマークされます。–Inf または Inf にある値はクリップまたは圧縮できますが、NaN 値はプロットに表示されません。中央値が範囲内にある場合、ボックスのノッチが一定のスケールで描画されます (上限または下限を超える可能性があります)。中央値が範囲外にある場合、ボックスのノッチは描画されません。

例: 'ExtremeMode','compress'

外れ値の最大移動距離。'Jitter' と数値から構成されるコンマ区切りのペアとして指定します。Jitter は、重複する点を可視化するために外れ値を一様乱数の量だけ因子の軸に沿って移動させる最大距離です。'Jitter' として 1 を指定した場合、ジッター領域は最も近い隣接するグループ間でグループに接します。

'PlotStyle''traditional' の場合、Jitter の既定値は 0 になります。'PlotStyle''compact' の場合、既定値は 0.5 になります。

例: 'Jitter',1

データ型: single | double

ひげの最大長。'Whisker' と正の数値から構成されるコンマ区切りのペアとして指定します。

boxplotq3 + w × (q3 – q1) より大きい点と q1 – w × (q3 – q1) より小さい点を外れ値として描きます。 w はひげの最大長、q1 と q3 はそれぞれ標本データの 25 番目および 75 番目の百分位数です。

データが正規分布の場合、'Whisker' の既定値はおよそ +/–2.7σ および 99.3% の範囲に対応します。プロットされたひげは、外れ値ではない最極のデータ値である "隣接値" に伸びます。

ひげを描画せず、q1 と q3 の外部にある点をすべて外れ値にするには、'Whisker' として 0 を指定します。

例: 'Whisker',0

データ型: single | double

プロットの外観

すべて折りたたむ

ボックスのラベル。'Labels' と、ボックスのラベルの名前が格納されている文字配列、string 配列、cell 配列または数値ベクトルから構成されるコンマ区切りのペアとして指定します。x の値またはグループごとに 1 つずつラベルを指定します。複数のラベル変数を指定するには、許容されるデータ型のいずれかが格納されている数値行列または cell 配列を使用します。

プロットからラベルを削除するには、set(gca,'XTickLabel',{' '}) コマンドを使用します。

データ型: char | string | cell | single | double

ラベルの方向。'LabelOrientation' と次のいずれかから構成されるコンマ区切りのペアとして指定します。

名前
'inline'ボックスのラベルを垂直方向になるように回転させます。'PlotStyle''compact' の場合、これが既定値になります。
'horizontal'ボックスのラベルを水平方向のままにします。'PlotStyle''traditional' の場合、これが既定値になります。

ラベルが y 軸にある場合、どちらの設定でもラベルは水平方向のままになります。

例: 'LabelOrientation','inline'

プロットに表示するラベル。LabelVerbosity と次のいずれかから構成されるコンマ区切りのペアとして指定します。

名前
'all'すべての因子についてラベルを表示します。'PlotStyle''traditional' の場合、これが既定値になります。
'minor'因子の値が前のグループと異なる場合のみ、その因子についてラベルを表示します。
'majorminor'ある因子の値またはその因子より主要な因子の値が前のグループと異なる場合、その因子についてラベルを表示します。'PlotStyle''compact' の場合、これが既定値になります。

例: 'LabelVerbosity','minor'

プロットの方向。Orientation と次のいずれかから構成されるコンマ区切りのペアとして指定します。

名前
'vertical'x を y 軸にプロットします。
'horizontal'x を x 軸にプロットします。

例: 'horizontal'

ボックスの位置。'Positions' と、各グループまたは x の値について 1 つずつのエントリが含まれている数値ベクトルから構成されるコンマ区切りのペアとして指定します。既定の設定は 1:NumGroups です。NumGroups はグループの数です。

データ型: single | double

ヒント

  • boxplot はデータの視覚的な表現を作成しますが、数値を返すわけではありません。標本データの関連する要約統計を計算するには、次の関数を使用します。

    • min — 標本データの最小値を求めます。

    • max — 標本データの最大値を求めます。

    • median — 標本データの中央値を求めます。

    • quantile — 標本データの分位点の値を求めます。

    • grpstats — 標本データの要約統計をグループ別に整理して計算します。

  • データ値とグループ名を参照するには、Figure ウィンドウ のデータ カーソル (MATLAB)を使用します。カーソルは、datalim パラメーターの影響を受けるオリジナルの値を表示します。外れ値が属するグループにラベルを付けるには、関数 gname を使用します。

  • 箱ひげ図のコンポーネントのグラフィックス プロパティを変更するには、Tag プロパティを指定して findobj を使用することによりコンポーネントのハンドルを取得します。箱ひげ図のコンポーネントの Tag 値は、パラメーター設定によって異なります。次の表を参照してください。

    パラメーター設定Tag の値
    すべて設定
    • 'Box'

    • 'Outliers'

    'PlotStyle''traditional' である場合
    • 'Median'

    • 'Upper Whisker'

    • 'Lower Whisker'

    • 'Upper Adjacent Value'

    • 'Lower Adjacent Value'

    'PlotStyle''compact' である場合
    • 'Whisker'

    • 'MedianOuter'

    • 'MedianInner'

    'Notch''marker' である場合
    • 'NotchLo'

    • 'NotchHi'

参照

[1] McGill, R., J. W. Tukey, and W. A. Larsen. “Variations of Boxplots.” The American Statistician. Vol. 32, No. 1, 1978, pp. 12–16.

[2] Velleman, P.F., and D.C. Hoaglin. Applications, Basics, and Computing of Exploratory Data Analysis. Pacific Grove, CA: Duxbury Press, 1981.

[3] Nelson, L. S. “Evaluating Overlapping Confidence Intervals.” Journal of Quality Technology. Vol. 21, 1989, pp. 140–141.

[4] Langford, E. “Quartiles in Elementary Statistics”, Journal of Statistics Education. Vol. 14, No. 3, 2006.

R2006a より前に導入