parallelcoords
平行座標プロット
説明
parallelcoords(
は、行列 x
)x
内の多変量データの平行座標プロットを作成します。平行座標プロットを使用すると、高次元データを可視化することができ、座標のインデックスに対してプロットされる一連の座標値によって各観測値が表されます。
parallelcoords(
は、1 つ以上の x
,Name,Value
)Name,Value
ペア引数で指定された追加オプションを使用して平行座標プロットを作成します。たとえば、x
内のデータを標準化したり、プロットの横軸にある座標の目盛りにラベルを付けることができます。
parallelcoords(
は、前の構文のいずれかを使用し、axes グラフィックス オブジェクト ax
,___)ax
で指定された座標軸を使用して平行座標プロットを作成します。
例
グループ化されたデータの平行座標プロット
フィッシャーのアヤメの標本データを読み込みます。
load fisheriris
データには、3 つの種のアヤメの花による 4 種類の測定値 (萼弁の長さ、萼弁の幅、花弁の長さ、花弁の幅) が含まれています。行列 meas
には、150 本の花のそれぞれについて 4 つの測定値すべてが格納されています。cell 配列 species
には、150 本の花のそれぞれに対する種の名前が格納されています。
標本データの各測定値変数の名前が格納されている cell 配列を作成します。
labels = {'Sepal Length','Sepal Width','Petal Length','Petal Width'};
meas
内の測定値データを使用して平行座標プロットを作成します。species
で指定されている各グループについて異なる色を使用します。変数名を使用して横軸にラベルを付けます。
parallelcoords(meas,'Group',species,'Labels',labels)
作成されるプロットには、各観測 (花) について 1 つずつのラインが含まれています。各ラインの色は花の種を示します。
分位数の値による平行座標プロット
フィッシャーのアヤメの標本データを読み込みます。
load fisheriris
データには、3 つの種のアヤメの花による 4 種類の測定値 (萼弁の長さ、萼弁の幅、花弁の長さ、花弁の幅) が含まれています。行列 meas
には、150 本の花のそれぞれについて 4 つの測定値すべてが格納されています。cell 配列 species
には、150 本の花のそれぞれに対する種の名前が格納されています。
標本データの各測定値変数の名前が格納されている cell 配列を作成します。
labels = {'Sepal Length','Sepal Width','Petal Length','Petal Width'};
meas
内の測定値データを使用して平行座標プロットを作成します。species
で指定されている各グループについて、中央値と 25% および 75% の四分位数の値のみをプロットします。変数名を使用して横軸にラベルを付けます。
parallelcoords(meas,'group',species,'labels',labels,... 'quantile',.25)
プロットでは、各グループの中央値が実線で、分位数の値が同じ色の点線で示されています。たとえば、青い実線は setosa
種のアヤメの各変数について評価した中央値を示します。青い実線の下にある青い点線は、setosa
種のアヤメの各変数に対する測定値の 25 番目の百分位数を示します。青い実線の上にある青い点線は、setosa
種のアヤメの各変数に対する測定値の 75 番目の百分位数を示します。
平行座標プロットのラインのプロパティの調整
フィッシャーのアヤメの標本データを読み込みます。
load fisheriris
データには、3 つの種のアヤメの花による 4 種類の測定値 (萼弁の長さ、萼弁の幅、花弁の長さ、花弁の幅) が含まれています。行列 meas
には、150 本の花のそれぞれについて 4 つの測定値すべてが格納されています。cell 配列 species
には、150 本の花のそれぞれに対する種の名前が格納されています。
標本データの各測定値変数の名前が格納されている cell 配列を作成します。
labels = {'Sepal Length','Sepal Width','Petal Length','Petal Width'};
meas
内の測定値データを使用して平行座標プロットを作成します。species
で指定されている各グループについて、中央値と 25% および 75% の四分位数の値のみをプロットします。変数名を使用して横軸にラベルを付けます。ラインの幅を 2 に設定します。
parallelcoords(meas,'group',species,'labels',labels,... 'quantile',.25,'LineWidth',2)
この方法で 'LineWidth'
を指定すると、プロット内のラインすべての幅が 2 に設定されます。
平行座標プロットを再作成します。ただし、今回はハンドルを使用して、setosa
グループのアヤメに対する各測定値の中央値を表すラインのみの幅を太くします。
h = parallelcoords(meas,'group',species,'labels',labels,... 'quantile',.25)
h = 9x1 Line array: Line (median) Line (lower quantile) Line (upper quantile) Line (median) Line (lower quantile) Line (upper quantile) Line (median) Line (lower quantile) Line (upper quantile)
返された列ベクトル h
には、parallelcoords
によって作成された各 line オブジェクトに対応するハンドルが格納されています。たとえば、h(1) は 1 番目のグループ化変数 (setosa
) の中央値を表すラインに対応しています。
ドット表記を使用して、setosa
グループのアヤメに対する各測定値の中央値を示すラインの幅を太くします。
h(1).LineWidth = 2;
入力引数
x
— 多変量入力データ
数値行列
多変量入力データ。n 行 p 列の数値行列を指定します。n は x
の行数で、各行は x
内の観測値に対応します。p は x
の列数で、各列は x
内の変数に対応します。
parallelcoords
は x
内の NaN
値を欠損値として扱い、これらの座標値をプロットしません。
データ型: single
| double
ax
— プロットの座標軸
axes グラフィックス オブジェクト
プロットの座標軸。axes グラフィックス オブジェクトを指定します。ax
を指定しなかった場合、parallelcoords
は、現在の座標軸を使用してプロットを作成します。axes グラフィックス オブジェクトを作成する方法の詳細については、axes
と Axes のプロパティ を参照してください。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名、Value
は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。
R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name
を引用符で囲みます。
例: 'Group',species,'Quantile',.25
は、変数 species
で指定された各グループについて異なる色を使用して、入力データの中央値と 25% および 75% の四分位値をプロットします。
Group
— 入力データのグループ化変数
数値配列 | カテゴリカル変数 | 文字行列 | string 配列 | cell 配列
入力データのグループ化変数。'Group'
と各観測値のグループ インデックスが格納されている数値配列から構成されるコンマ区切りのペアとして指定します。あるいは、配列を各観測値のグループ名が格納されているカテゴリカル変数、文字行列、string 配列または cell 配列にすることができます。
データ型: single
| double
| categorical
| char
| string
| cell
Labels
— 横軸のラベル
文字配列 | string 配列 | cell 配列
横軸のラベル。'Labels'
とラベル名が格納されている文字配列、string 配列または cell 配列から構成されるコンマ区切りのペアとして指定します。
例: 'Labels',{'Sepal Width','Sepal Length'}
データ型: char
| string
| cell
Quantile
— プロットする入力データの分位数
(0,1) の範囲にある数値
プロットする入力データの分位数。'Quantile'
と (0,1) の範囲にある数値から構成されるコンマ区切りのペアとして指定します。alpha という値を 'Quantile'
に対して指定した場合、parallelcoords
は x
内の各変数 (列) の中央値、分位数 alpha および分位数 1 – alpha のみをプロットします。
x
に多数の観測値が含まれている場合は、分位数プロット オプションで得られるデータの要約が役立ちます。
例: 'Quantile',.25
データ型: single
| double
Standardize
— 入力データを標準化する方法
'on'
| 'PCA'
| 'PCAStd'
入力データを標準化する方法。'Standardize'
と次のいずれかから構成されるコンマ区切りのペアとして指定します。
'on' | プロットを行う前に、平均が 0、標準偏差が 1 になるように x の各列をスケーリングします。 |
'PCA' | 固有値の降順で x の主成分スコアからプロットを作成します。PCA 標準化の場合、parallelcoords は欠損値 (NaN ) が含まれている x の行を除外します。 |
'PCAStd' | 標準化された主成分スコアを使用してプロットを作成します。 |
例: 'Standardize','on'
Line のプロパティ に記載されているプロパティの場合、プロパティの名前と値を指定することによりプロットするラインの特性を変更できます。しかし、このアプローチではプロット内のラインすべてに変更が適用されます。特定のラインのみを変更するには、グラフィックス ハンドルを返す構文を使用し、ドット表記を使用して各ラインのプロパティを個別に調整します。実例については、平行座標プロットのラインのプロパティの調整を参照してください。
出力引数
h
— line オブジェクトのグラフィックス ハンドル
Line
グラフィックス ハンドルのベクトル
line オブジェクトのグラフィックス ハンドル。Line
グラフィックス ハンドルのベクトルとして返されます。グラフィックス ハンドルは、プロットの特定のラインのプロパティをクエリおよび変更するために使用できる一意な識別子です。line オブジェクトのプロパティを表示および設定するには、ドット表記を使用します。ドット表記の使用法の詳細については、プロパティ値へのアクセスを参照してください。設定できる Line
オブジェクトのプロパティの詳細については、Line のプロパティ を参照してください。
名前と値のペアの引数 'Quantile'
を使用した場合、作成される 3 つの line オブジェクトのそれぞれについて 1 つずつのハンドルが h
に格納されます。名前と値のペアの引数 'Quantile'
および 'Group'
の両方の名前と値のペアの引数を使用した場合、各グループに対して 3 つずつのハンドルが h
に格納されます。
代替機能
または、関数 parallelplot
を使用して ParallelCoordinatesPlot
オブジェクトを作成できます。
関数
parallelcoords
と異なり、parallelplot
ではカテゴリカル変数が含まれている表形式データをプロットできます。parallelplot
は、数値データに対する分位数のプロットをサポートしません。ただし、ParallelCoordinatesPlot
オブジェクトにはDataNormalization
プロパティが含まれており、数値による座標に対するデータ正規化メソッドがいくつか用意されています。
このオブジェクトの外観と動作を制御するには、ParallelCoordinatesPlot のプロパティ を変更します。
バージョン履歴
R2006a より前に導入
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)