% GLYPHPLOT   多変量データに対するスタープロットまたはChernoff facesのプロット
%
%   GLYPHPLOT(X)は、N行P列行列Xの多変量データからスタープロットを作成します。
%   Xの行は、変数の列である観測値に対応します。スタープロットは、各観測値を
%   "star"として表わし、このi番目のspokeは、その観測値のi番目の座標までの長さ
%   に比例します。GLYPHPLOTは、プロットを行う前に、区間[.1,1]で各列を別々にシ
%   フトおよびスケーリングすることにより、Xを標準化し、可能な限り正方形に近い
%   矩形グリッドの中心にglyphsを置きます。GLYPHPLOTは、X内のNaNsを欠測値として
%   扱い、Xの対応する行をプロットしません。GLYPHPLOT(X, 'Glyph','star')は、
%   GLYPHPLOT(X)ど同じです。
%
%   GLYPHPLOT(X, 'Glyph','face')は、Xのフェースプロットを作成します。フェース
%   プロットは、各観測値を"face"として表わし、ここで、i番目のfacial featureは、
%   その観測値のi番目の座標に特徴が比例するように描画されます。下記のように、
%   最大で17個のfeaturesが利用可能です。
%
%   GLYPHPLOT(X, 'Glyph','face', 'Features',F) は、フェースプロットを作成し
%   ます。ここで、インデックスベクトルFのi番目の要素が、どのfacial fatureがXの
%   i番目の列を表わすかを定義します。F は、0から17までの整数を含まなければなりま
%   せん。ここで、0は、Xの対応する列がプロットされないことを示します。
%
%   GLYPHPLOT(X, ..., 'Grid',[ROWS,COLS])は、ROWS行COLS列のグリッドにglyphを
%   組織化します。
%
%   GLYPHPLOT(X, ..., 'Grid',[ROWS,COLS], 'Page',PAGE) は、ROWS行COLS列グリッド
%   の1ページあるいは複数ページにglyphを組織化し、PAGE番目のページを表示します。
%   PAGEがベクトルの場合は、GLYPHPLOTは連続する複数ページを表示します。PAGEが
%   'all'の場合は、GLYPHPLOTはすべてのページを表示します。PAGEが'scroll'の場合
%   は、GLYPHPLOTはスクロールバーを使って単一プロットを表示します。
%
%   GLYPHPLOT(X, ..., 'Centers',C)は、N行2列行列Cの中心に各glyphを置いたプロット
%   を作成します。
%
%   GLYPHPLOT(X, ..., 'Centers',C,'Radius',R)は、Cを用いてglyphの位置を決定した
%   プロットを作成し、最大のglyphsが半径Rになるようにスケーリングします。
%
%   GLYPHPLOT(X, ..., 'ObsLabels',OBSLABS)は、文字列OBSLABSのキャラクタ配列また
%   はセル配列内のテキストにより、各glyphにラベルを付けます。 デフォルトでは、
%   glyphs は、1:Nとラベル付けられます。ラベルがない場合は'' を渡します。ラベル
%   は、'Centers'パラメータが与えられたときにプロットされますが、データカーソル内
%   にのみ現れます。
%
%   GLYPHPLOT(X, ..., 'VarLabels',VARLABS)は、データカーソルの表示の際に、文字
%   列VARLABSのキャラクタ配列またはセル配列のテキストを変数名として使います。
%
%   GLYPHPLOT(X, ..., 'Standardize',METHOD)は、プロットを作成する前にXを標準化し
%   ます。METHOD の選択肢は、以下の通りです。
%      'column'  Xの各列を 区間[.1,1]に別々にマッピングします。
%                これは、デフォルトです。
%      'matrix'  行列X全体を区間[.1,1]にマッピングします。
%      'PCA'     X を減少する固有値の順に、主成分スコアに変換し、各々を区間
%		   [.1,1]にマッピングします。
%      'off'     標準化を行いません。スターに対するデータは、[0,1]で、フェースに
%		   対するデータは[.05,.95]になければなりません。
%
%   GLYPHPLOT(X, ..., 'PropertyName',PropertyValue, ...)は、GLYPHPLOTにより作成
%   されるすべてのlineグラフィックスオブジェクトに対して指定されたプロパティ値をプロ
%   パティに設定します。
%
%   H = GLYPHPLOT(X, ...) は、GLYPHPLOTによって作成されるグラフィックスオブジェク
%   トのハンドルの行列を出力します。スタープロットに対して、H(:,1)とH(:,2)は、それ
%   ぞれ各スターのperimeterとspokesに対するlineオブジェクトのハンドルを含みます。
%   faceプロットに対して、H(:,1)とH(:,2)は、それぞれ、各フェースを構成するラインと
%   pupilのハンドルを含みます。H(:,3)は、存在する場合は、ラベルに対するtextオブジェ
%   クトのハンドルを含みます。
%
%   faceプロットでは、Xの列は、デフォルトでこれらのfacial　featureに対応します。
%   Xが17よりも少ない列を含む場合、未使用のfeaturesは、それらのデフォルト値で表示さ
%   れます。デフォルトの対応を変更するには、'Features'入力パラメータを使用してください。
%
%   列		顔の特徴Feature
%   -------------------------------------
%      1      顔の大きさ
%      2      額/顎の弧の長さ
%      3      額の形
%      4      顎の形
%      5      目の間の幅
%      6      目の縦方向の位置
%      7      目の高さ
%      8      目の幅(眉の幅に影響を与えます)
%      9      目の角度(眉の角度に影響を与えます)
%     10      眉の縦方向の位置
%     11      眉の幅(目に比例)
%     12      眉の角度(目に比例)
%     13      瞳の方向
%     14      鼻の長さ
%     15      口の縦方向の位置
%     16      口の形
%     17      口の弧の長さ
%
%   例題:
%
%      load carsmall
%      X = [Acceleration Displacement Horsepower MPG Weight];
%      glyphplot(X, 'Standardize','column', 'ObsLabels',Model, ...
%                'grid',[2 2], 'page','scroll');
%      glyphplot(X, 'Glyph','face', 'ObsLabels',Model, 'grid',[2 3], 'page',9);
%
% 参考  ANDREWSPLOT, PARALLELCOORDS.


%   Copyright 1993-2004 The MathWorks, Inc.
