Main Content

pareto

  • Pareto chart

説明

pareto(y)y のパレート図を作成します。パレート図とはバーが降順に並べられた棒グラフのことで、累積分布を示すラインが含まれます。このチャートには、95% の累積分布を構成する最も高いバーが、最大 10 個まで表示されます。n 個のバーにちょうど 95% の分布が含まれ、n10 より小さい場合、チャートには n+1 個のバーが表示されます。

x 軸に沿ったバー ラベルは、y ベクトルにおけるバーの値へのインデックスです。

pareto(y,x) は、バーの x 座標 (またはラベル) を指定します。y および x は、共に同じ長さである必要があります。

pareto(___,threshold)01 の間のしきい値を指定します。しきい値はチャートに含める累積分布の割合です。このチャートには、この割合を構成する最も高いバーが、最大 10 個まで含まれます。n 個のバーにちょうど指定した割合が含まれ、n10 より小さい場合、チャートには n+1 個のバーが表示されます。

pareto(target,___) は、指定されたターゲット座標軸にチャートを作成します。

charts = pareto(___)Bar オブジェクトおよび Line オブジェクトを配列で返します。このオブジェクトを使用してプロパティを設定することにより、パレート図の特性を変更できます。プロパティの一覧については、Bar のプロパティ および Line のプロパティ を参照してください。

[charts,ax] = pareto(___) は、配列 charts にあるオブジェクトに加えて 2 つの Axes オブジェクトの配列を返します。このオブジェクトを使用してプロパティを設定することにより、チャートの特性を変更できます。プロパティの一覧については、Axes のプロパティBar のプロパティ、および Line のプロパティ を参照してください。

すべて折りたたむ

合計が 100 となる 5 つの数値から成るベクトルとして y を定義し、数値とバーの関係がチャートで確認できるようにします。

次に、"x" 座標を指定せずに、y のパレート図を作成します。"x" 軸の目盛りラベルは、y におけるバーの値の位置です。この場合、y(3) が最大値であるため、このバーが最も左の位置に表示され、y(5) および y(4) が続きます。これら 3 つのバーで累積分布の 95% を超えるため、チャートに表示されるバーはこれだけです。

y = [2 3 45 20 32];
pareto(y)

Figure contains 2 axes objects. Axes object 1 contains 2 objects of type bar, line. Axes object 2 is empty.

n 個の最も高いバーがちょうど 95% の累積分布を構成する場合、pareto はチャートに n+1 個のバーを含みます。たとえば、2 個のバーがちょうどデータの 95% を含むように y を定義します。pareto は最も高い 3 個のバーを表示します。

y = [4 1 40 55];
pareto(y)

Figure contains 2 axes objects. Axes object 1 contains 2 objects of type bar, line. Axes object 2 is empty.

パレート図を使用して、200 人の参加者の調査で好みのパイの種類を調べます。5 つのパイの味を含む string ベクトルとして x を定義し、それぞれの味の投票数として y を定義します。パレート図を作成し、threshold 引数を 1 に設定して累積分布のすべての値を含めます。

x = ["Chocolate" "Apple" "Pecan" "Cherry" "Pumpkin"];
y = [35 50 30 5 80];
pareto(y,x,1)
ylabel('Votes')

Figure contains 2 axes objects. Axes object 1 contains 2 objects of type bar, line. Axes object 2 is empty.

x は、プロジェクトに貢献した 8 人のプログラマの名前を含む string ベクトルとして定義します。y は、各プログラマが貢献したコードの行数として定義します。データをタイトル付きのパレート図に表示します。

x = ["Fred" "Gina" "Norman" "Josphat" "Julia" "Wally" "Heidi" "Pat"];
y = [200 120 555 608 1024 101 57 687];
pareto(y,x)
title('Lines of Code by Programmer')

Figure contains 2 axes objects. Axes object 1 with title Lines of Code by Programmer contains 2 objects of type bar, line. Axes object 2 is empty.

x は、特定の工場で生産された 5 つの異なるモデル ロケットの名前から成る categorical ベクトルとして定義します。y は、各カテゴリ内の無作為抽出点から、打ち上げに失敗したロケットの数として定義します。データをパレート図に表示し、"x" 軸および "y" 軸にラベルを追加します。

x = categorical(["Firestorm" "Mr. Ballista" "Moonshot" "Lil' Joe" "Houston"]); 
y = [526 100 221 40 10];
pareto(y,x)
xlabel('Rocket Model')
ylabel('Launch Failures')

Figure contains 2 axes objects. Axes object 1 contains 2 objects of type bar, line. Axes object 2 is empty.

x は、特定の電子部品の製造日を示す datetime ベクトルとして定義します。y は、部品の各バッチにおける不具合の数として定義します。データをパレート図に表示し、"x" 軸および "y" 軸にラベルを追加します。

x = datetime(2018,5,1:5,'Format','d MMM');
y = [100 526 221 60 49];
pareto(y,x)
xlabel('Manufacturing Date')
ylabel('Defects')

Figure contains 2 axes objects. Axes object 1 contains 2 objects of type bar, line. Axes object 2 is empty.

y を 5 つの数から成るベクトルとして定義し、パレート図を作成します。チャートの特性および軸をカスタマイズできるように、戻り引数を指定します。

y = [20 30 10 55 5];
[charts, ax] = pareto(y);

Figure contains 2 axes objects. Axes object 1 contains 2 objects of type bar, line. Axes object 2 is empty.

配列 charts を使用して、Bar オブジェクトおよび Line オブジェクトの色を変更します。charts の最初の要素は Bar オブジェクト、2 番目の要素は Line オブジェクトです。バーの色を紫の色調に変更し、線の色を緑の色調に変更します。

charts(1).FaceColor = [0.50  0.37  0.60];
charts(2).Color = [0 0.50 0.10];

Figure contains 2 axes objects. Axes object 1 contains 2 objects of type bar, line. Axes object 2 is empty.

次に、左側の "y" 軸の色をバーと一致するように変更し、右側の "y" 軸の色を線と一致するように変更します。左側の Axes オブジェクトは配列 ax の最初の要素です。もう一方の Axes オブジェクトは配列 ax の 2 番目の要素です。

色を変更した後、座標軸のグリッド ラインを表示します。

ax(1).YColor = [0.50 0.37 0.60];
ax(2).YColor = [0 0.50 0.10];
grid on

Figure contains 2 axes objects. Axes object 1 contains 2 objects of type bar, line. Axes object 2 is empty.

1 つの Figure に複数のチャートを作成するには、タイル表示チャート レイアウトを使用します。関数 nexttile を呼び出して、タイル表示チャート レイアウトに axes オブジェクトを作成します。利用可能なレイアウトがない場合は、nexttile が作成します。座標軸を関数 pareto に最初の引数として渡し、パレート図を作成します。

ax1 = nexttile;
pareto(ax1,[20 50 33 12])

Figure contains 2 axes objects. Axes object 1 contains 2 objects of type bar, line. Axes object 2 is empty.

関数 nexttile を呼び出して、2 番目の axes オブジェクトをレイアウトに追加します。次に 2 番目のパレート図を作成します。

ax2 = nexttile;
pareto(ax2,[50 10 20 25 30])

Figure contains 4 axes objects. Axes object 1 contains 2 objects of type bar, line. Axes object 2 is empty. Axes object 3 contains 2 objects of type bar, line. Axes object 4 is empty.

入力引数

すべて折りたたむ

y 座標 (バーの高さ)。非負の有限な数値のベクトルとして指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

x 座標 (バーのラベル)。y と同じ長さのベクトルとして指定します。ベクトル内の値は、非負の有限な数値、datetime 値、duration 値、または categorical 値にできます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration

チャートに含める累積分布の割合。01 の間の数値として指定します。

pareto は、累積分布に寄与するバーを降順で、このしきい値を超えるまで最大 10 個のバーを表示します。

例: pareto([70 15 10 5],0.75) は、75% の累積分布を含む最も高いバーを表示します。

例: pareto([70 15 10 5],0.85) は、85% の累積分布を含む最も高いバーを表示します。

例: pareto([70 15 10 5],1) は、y の長さが 10 より小さいため、すべてのバーを表示します。

例: pareto(1:11,1) は、y の長さが 10 より大きいため、最も高い 10 個のバーのみ表示します。

ターゲット座標軸。Axes オブジェクトとして指定します。座標軸を指定せず、現在の座標軸が直交座標軸の場合、pareto は現在の座標軸を使用します。

拡張機能

バージョン履歴

R2006a より前に導入