Main Content

boxchart

分散分析 (ANOVA) のボックス チャート (箱ひげ図)

R2022b 以降

    説明

    boxchart(aov) は、1 因子 anova オブジェクト aov の各因子の値について、応答データのノッチのある箱ひげ図を作成します。この構文は、因子がカテゴリカルの場合にのみサポートされます。

    boxchart(aov,factors) は、factors の各因子の値について、ノッチのある箱ひげ図を作成します。引数 factors は、aov.FactorNames に含まれる最大 2 つのカテゴリカル因子名で構成されていなければなりません。

    boxchart(___,Name=Value) では、前の構文におけるいずれかの入力引数の組み合わせに加えて、1 つ以上の名前と値の引数を使用してオプションを指定します。たとえば、ボックスの中央値の線の色やマーカー スタイルを指定できます。プロパティの一覧については、BoxChart のプロパティを参照してください。

    boxchart(ax,___) は、現在の座標軸 (gca) の代わりに ax で指定された座標軸をプロットします。

    b = boxchart(___) は、生成された箱ひげ図の BoxChart オブジェクトのグラフィックス ベクトル b を返します。

    すべて折りたたむ

    ポップコーン生産量のデータを読み込みます。

    load popcorn.mat

    6 行 3 列の行列 popcorn の列に、3 つの異なるブランドについてのポップコーン生産量 (カップ数) の観測値が格納されています。

    1 因子 ANOVA を実行して、ポップコーンのブランドはポップコーン生産量に影響しないという帰無仮説を検定します。

    aov = anova(popcorn,FactorNames="Brand")
    aov = 
    1-way anova, constrained (Type III) sums of squares.
    
    Y ~ 1 + Brand
    
                 SumOfSquares    DF    MeanSquares     F        pValue  
                 ____________    __    ___________    ____    __________
    
        Brand       15.75         2        7.875      18.9    7.9603e-05
        Error        6.25        15      0.41667                        
        Total          22        17                                     
    
    
      Properties, Methods
    
    
    

    "p" 値が小さいことから、少なくとも 1 つのブランドのポップコーン生産量に統計的な有意差があることがわかります。

    Brand の各値についての応答データの箱ひげ図を作成します。

    boxchart(aov)
    xlabel("Brand")
    ylabel("Popcorn Yield")

    Figure contains an axes object. The axes object with xlabel Brand, ylabel Popcorn Yield contains an object of type boxchart. This object represents Brand.

    1 番目の箱ひげ図の影付き領域が他の箱ひげ図の影付き領域とオーバーラップしていないことから、1 番目のブランドのポップコーン生産量に統計的な有意差があることがわかります。

    ポップコーン生産量のデータを読み込みます。

    load popcorn.mat

    6 行 3 列の行列 popcorn の列に、Gourmet、National、および Generic の各ブランドについてのポップコーン生産量 (カップ数) の観測値が格納されています。行列の最初の 3 行はオイル タイプの製造器具で製造したポップコーン、最後の 3 行はエアー タイプの製造器具で製造したポップコーンに対応しています。

    関数repmatを使用して、ブランドと製造器具タイプの因子の値を格納する string 配列を作成します。

    brand = [repmat("Gourmet",6,1);repmat("National",6,1);repmat("Generic",6,1)];
    poppertype = [repmat("Air",3,1);repmat("Oil",3,1);repmat("Air",3,1);...
        repmat("Oil",3,1);repmat("Air",3,1);repmat("Oil",3,1)];
    factors = {brand,poppertype};

    2 因子 ANOVA を実行して、ポップコーンのブランド、製造器具のタイプ、ブランドと製造器具タイプの交互作用はポップコーン生産量に影響しないという帰無仮説を検定します。

    aov = anova(factors,popcorn(:),FactorNames=["Brand","PopperType"],...
        ModelSpecification="interactions")
    aov = 
    2-way anova, constrained (Type III) sums of squares.
    
    Y ~ 1 + Brand*PopperType
    
                            SumOfSquares    DF    MeanSquares     F        pValue  
                            ____________    __    ___________    ____    __________
    
        Brand                    15.75       2        7.875      56.7     7.679e-07
        PopperType                 4.5       1          4.5      32.4    0.00010037
        Brand:PopperType      0.083333       2     0.041667       0.3       0.74622
        Error                   1.6667      12      0.13889                        
        Total                       22      17                                     
    
    
      Properties, Methods
    
    
    

    aov は 2 因子 ANOVA の結果を格納する anova オブジェクトです。BrandPopperType"p" 値が小さいことから、ブランドと製造器具タイプについては、どちらもポップコーン生産量に対して統計的に有意な影響を与えることがわかります。Brand:PopperType"p" 値は大きいため、交互作用項がポップコーン生産量に対して統計的に有意な影響を与えないという帰無仮説を棄却するだけの十分な証拠がないことを示しています。

    boxchart を使用して、Brand の値でグループ化された応答データと PopperType でグループ化された応答データをプロットします。boxchart での各製造器具タイプに対する色の割り当てを表示するために、凡例を追加します。

    boxchart(aov,["Brand","PopperType"])
    legend

    Figure contains an axes object. The axes object contains 2 objects of type boxchart. These objects represent Air, Oil.

    箱ひげ図から、ブランドに関係なく、ポップコーンをオイル タイプで製造した方がポップコーン生産量が多いことがわかります。製造器具タイプ別では、Gourmet のブランドがポップコーン生産量が最も多く、Generic のブランドが最も少なくなっています。この結果は 2 因子 ANOVA の結果と一致しています。

    ポップコーン生産量のデータを読み込みます。

    load popcorn.mat

    6 行 3 列の行列 popcorn の列に、Generic、Gourmet、および National の各ブランドについてのポップコーン生産量 (カップ数) の観測値が格納されています。行列の最初の 3 行はオイル タイプの製造器具で製造したポップコーン、最後の 3 行はエアー タイプの製造器具で製造したポップコーンに対応しています。

    関数repmatを使用して、ブランドと製造器具タイプの因子の値を格納する string 配列を作成します。

    brand = [repmat("Gour.",6,1);repmat("Nat.",6,1);repmat("Gen.",6,1)];
    poppertype = [repmat("Air",3,1);repmat("Oil",3,1);repmat("Air",3,1);...
        repmat("Oil",3,1);repmat("Air",3,1);repmat("Oil",3,1)];

    帰無仮説2 因子 ANOVA を実行して、ポップコーンのブランドや製造器具のタイプはポップコーン生産量に影響しないという帰無仮説を検定します。

    aov = anova({brand,poppertype}, popcorn(:), FactorNames=["Brand","PopperType"]);

    1 行 2 列のタイル表示チャート レイアウトを作成します。最初の座標軸のセットで、ブランドについての箱ひげ図をプロットします。2 つ目の座標軸のセットで、製造器具タイプについての箱ひげ図をプロットします。

    tiledlayout(1,2)
    
    % Left axes
    ax1 = nexttile;
    boxchart(ax1,aov,"Brand")
    xlabel(ax1,"Brand")
    ylabel(ax1,"Popcorn Yield")
    
    % Right axes
    ax2 = nexttile;
    boxchart(ax2,aov,"PopperType")
    xlabel(ax2,"Popper Type")

    Figure contains 2 axes objects. Axes object 1 with xlabel Brand, ylabel Popcorn Yield contains an object of type boxchart. This object represents Brand. Axes object 2 with xlabel Popper Type contains an object of type boxchart. This object represents PopperType.

    箱ひげ図の中央値の線から、ポップコーンのブランドの方が製造器具のタイプよりもポップコーン生産量に対する影響が大きいことがわかります。

    ポップコーン生産量のデータを読み込みます。

    load popcorn.mat

    6 行 3 列の行列 popcorn の列に、3 つの異なるブランドについてのポップコーン生産量 (カップ数) の観測値が格納されています。

    1 因子 ANOVA を実行して、ポップコーンのブランドはポップコーン生産量に影響しないという帰無仮説を検定します。

    aov = anova(popcorn,FactorNames="Brand")
    aov = 
    1-way anova, constrained (Type III) sums of squares.
    
    Y ~ 1 + Brand
    
                 SumOfSquares    DF    MeanSquares     F        pValue  
                 ____________    __    ___________    ____    __________
    
        Brand       15.75         2        7.875      18.9    7.9603e-05
        Error        6.25        15      0.41667                        
        Total          22        17                                     
    
    
      Properties, Methods
    
    
    

    Brand のそれぞれの値についての応答データをプロットします。中央値の線を赤、ボックスの面をグレー、ボックスのエッジを黒でプロットします。

    boxchart(aov,BoxFaceAlpha=0.2,BoxFaceColor="k",...
        BoxEdgeColor="k",BoxMedianLineColor="r")
    xlabel("Brand")
    ylabel("Popcorn Yield")

    Figure contains an axes object. The axes object with xlabel Brand, ylabel Popcorn Yield contains an object of type boxchart. This object represents Brand.

    1 番目の箱ひげ図の影付き領域が他の箱ひげ図の影付き領域とオーバーラップしていないことから、1 番目のブランドのポップコーン生産量に統計的な有意差があることがわかります。

    入力引数

    すべて折りたたむ

    分散分析の結果。anova オブジェクトとして指定します。aov のプロパティに、箱ひげ図の生成に boxchart で使用される因子と応答データが格納されます。

    応答データのグループ化に使用する因子。string ベクトルまたは文字ベクトルの cell 配列として指定します。関数 boxchart は、factors の因子の値の組み合わせで応答データをグループ化します。入力引数 factors は、aov.FactorNames に含まれる 1 つまたは 2 つのカテゴリカル因子名でなければなりません。

    例: ["g1","g2"]

    データ型: string | cell

    ターゲットの座標軸。Axes オブジェクトを指定します。座標軸を指定しない場合、boxchart は現在の座標軸 (gca) を使用します。

    名前と値の引数

    オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。

    例: Orientation="horizontal",BoxMedianLineColor="r",WhiskerLineStyle="--" は、中央値の線が赤でひげが破線の水平方向の箱ひげ図を作成します。

    ここでは、BoxChart プロパティの一部だけを紹介しています。完全な一覧については、BoxChart のプロパティ を参照してください。

    ボックスの色。RGB 3 成分、16 進数のカラー コード、色の名前、または省略名として指定します。ボックスには、ボックスのエッジと中央値の線が含まれます。ボックスのエッジと中央値の線の色を個別に指定するには、BoxEdgeColor プロパティを使用できます。中央値の線のみの色を指定するには、BoxMedianLineColor プロパティを使用します。

    カスタム色の場合は、RGB 3 成分または 16 進数のカラー コードを指定します。

    • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 要素の行ベクトルです。強度は範囲 [0,1] に含まれていなければなりません。たとえば [0.4 0.6 0.7] のようになります。

    • 16 進数のカラー コードは、ハッシュ記号 (#) で始まり、0 から F の範囲にある 16 進数が 3 つまたは 6 つ続く、文字ベクトルまたは string スカラーです。この値では、大文字と小文字は区別されません。したがって、カラー コード "#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

    "none"該当なし該当なし該当なし色なし

    以下は、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

    例: BoxFaceColor="red"

    例: BoxFaceColor=[0 0.5 0.5]

    例: BoxFaceColor="#EDB120"

    外れ値のスタイル。次の表のいずれかのオプションとして指定します。

    マーカー説明結果として得られるマーカー
    "o"

    Sample of circle marker

    "+"プラス記号

    Sample of plus sign marker

    "*"アスタリスク

    Sample of asterisk marker

    "."

    Sample of point marker

    "x"十字

    Sample of cross marker

    "_"水平線

    Sample of horizontal line marker

    "|"垂直線

    Sample of vertical line marker

    "square"正方形

    Sample of square marker

    "diamond"菱形

    Sample of diamond marker

    "^"上向き三角形

    Sample of upward-pointing triangle marker

    "v"下向き三角形

    Sample of downward-pointing triangle marker

    ">"右向き三角形

    Sample of right-pointing triangle marker

    "<"左向き三角形

    Sample of left-pointing triangle marker

    "pentagram"星形五角形

    Sample of pentagram marker

    "hexagram"星形六角形

    Sample of hexagram marker

    "none"マーカーなし該当なし

    例: MarkerStyle="x"

    例: MarkerStyle="none"

    外れ値マーカー変位。"on"/"off" として指定するか、数値または logical の 1 (true) または 0 (false) として指定します。"on" の値は true と等価で、"off" の値は false と等価です。そのため、このプロパティの値を logical 値として使用できます。この値は、matlab.lang.OnOffSwitchState 型の on/off logical 値として保存されます。

    JitterOutliers プロパティを "on" に設定すると、boxchart で外れ値のマーカーが XData 方向にランダムに変位するため、類似する aov.Y 値をもつ外れ値を区別しやすくなります。例については、外れ値の可視化と検出を参照してください。

    例: JitterOutliers="on"

    中央値比較表示。"on"/"off" として指定するか、数値または logical の 1 (true) または 0 (false) として指定します。"on" の値は true と等価で、"off" の値は false と等価です。そのため、このプロパティの値を logical 値として使用できます。この値は、matlab.lang.OnOffSwitchState 型の on/off logical 値として保存されます。

    Notch プロパティを "on" に設定すると、boxchart で各中央値の周りに先細の影付き領域が作成されます。ノッチがオーバーラップしていない箱ひげ図は、有意水準 5% で異なる中央値をもちます。詳細については、ボックス チャート (箱ひげ図)を参照してください。

    ノッチは第 1 四分位数と第 3 四分位数を超えて拡張できます。

    例: Notch="off"

    箱ひげ図の方向。"vertical" または "horizontal" として指定します。既定では、箱ひげ図は垂直方向であり、maov.Y 統計が y 軸に揃えられます。方向に関係なく、boxchartmaov.Y 値を BoxChart オブジェクトの YData プロパティに格納します。

    例: Orientation="horizontal";

    出力引数

    すべて折りたたむ

    箱ひげ図。BoxChart オブジェクトのベクトルとして返されます。入力引数 factors にカテゴリカル因子名が 1 つだけ含まれている場合、b には単一の BoxChart オブジェクトが格納されます。factors にカテゴリカル因子名が 2 つ含まれている場合、b には 2 番目の因子の値の数と同じ数の BoxChart オブジェクトが格納されます。b を使用して、箱ひげ図の作成後にそれらのプロパティを設定します。詳細については、BoxChart のプロパティを参照してください。

    バージョン履歴

    R2022b で導入

    参考

    オブジェクト

    関数

    プロパティ