glyphplot
グリフ プロット
構文
説明
glyphplot( は、行列 X)X の多変量データからグリフ プロットを作成します。既定では、glyphplot はスター プロットを作成します。スター プロットでは、各観測値がスターとして表されます。スポーク i の長さがその観測値の変数 i の値に比例します。既定では、glyphplot はプロットの前に X の列を標準化します。
構文 glyphplot(X,Glyph="star") は構文 glyphplot(X) と等価であることに注意してください。
glyphplot(___, では、前の構文におけるいずれかの入力引数の組み合わせに加えて、1 つ以上の名前と値の引数を使用してオプションを指定します。たとえば、プロットの前に主成分分析 (PCA) を使用して Name=Value)X 内のデータを標準化できます。
は、g = glyphplot(___)Line オブジェクトおよび Text オブジェクトの配列を返します。g は、オブジェクトの作成後にそのプロパティ (Line のプロパティ または Text のプロパティ) をクエリまたは変更するのに使用します。
例
スター プロットを使用して多次元データを可視化します。観測値によってスターが異なることに注目します。
fisheriris データ セットを読み込みます。このデータ セットには、3 つの種のアヤメの花による 4 種類の測定値 (萼弁の長さ、萼弁の幅、花弁の長さ、花弁の幅) が含まれています。
load fisheriris行列 meas には、150 本の花についての 4 つの測定値すべてが格納されています。最初の 8 本の花の測定値を表示します。
head(meas)
5.1000 3.5000 1.4000 0.2000
4.9000 3.0000 1.4000 0.2000
4.7000 3.2000 1.3000 0.2000
4.6000 3.1000 1.5000 0.2000
5.0000 3.6000 1.4000 0.2000
5.4000 3.9000 1.7000 0.4000
4.6000 3.4000 1.4000 0.3000
5.0000 3.4000 1.5000 0.2000
meas のアヤメの測定値を使用してグリフ プロットを作成します。既定では、glyphplot はスター プロットを作成し、プロットの前に測定値を標準化します。
glyphplot(meas)
title("Glyph Plots for Iris Data")
各スターがアヤメに対応し、各スポークは標準化されたアヤメの測定値のいずれかに対応します。スポークの長さは測定値の相対的な値を示します。
最初の 50 本の花は次の 50 本の花よりもスターが小さい傾向にあることに注目してください。同様に、それらの花のセットは、どちらも最後の 50 本の花よりスターが小さい傾向にあります。
3 つのアヤメのセットについて、それらの測定値の分布を箱ひげ図を使用して比較します。
figure boxchart(meas(1:50,:)) hold on boxchart(meas(51:100,:)) boxchart(meas(101:end,:)) hold off legend(["Irises 1-50","Irises 51-100","Irises 101-150"]) xticklabels(["Sepal Length","Sepal Width","Petal Length","Petal Width"]) title("Box Plots for Iris Data")

箱ひげ図は、4 つの測定値のうちの 3 つについて、最初の 50 本のアヤメが次の 50 本のアヤメよりも値が小さい傾向にあり、それらのアヤメが最後の 50 本のアヤメよりも値が小さい傾向にあることを示しています。値が小さいほど対応するスターのスポークが短くなるため、この結果から前のスター プロットにおけるスターの相対的なサイズの説明がつきます。
チャーノフのフェース プロットを使用して多次元データを可視化します。データ変数に対応するフェースの特徴を指定します。
100 台の自動車の測定値を含む carsmall データ セットを読み込みます。Acceleration、Displacement、Horsepower、MPG、および Weight の変数を組み合わせて table にします。最初の 12 台の自動車の値を表示します。
load carsmall
Tbl = table(Acceleration,Displacement,Horsepower,MPG,Weight);
head(Tbl,12) Acceleration Displacement Horsepower MPG Weight
____________ ____________ __________ ___ ______
12 307 130 18 3504
11.5 350 165 15 3693
11 318 150 18 3436
12 304 150 16 3433
10.5 302 140 17 3449
10 429 198 15 4341
9 454 220 14 4354
8.5 440 215 14 4312
10 455 225 14 4425
8.5 390 190 15 3850
17.5 133 115 NaN 3090
11.5 350 165 NaN 4142
Tbl の自動車の測定値を使用してチャーノフのフェース プロットを作成します。glyphplot では欠損値を含む観測値はプロットから除外されること、および既定ではプロットの前に自動車の測定値が標準化されることに注意してください。
glyphplot(Tbl{:,:},Glyph="face")
既定では、glyphplot は、フェースの大きさを使用して最初の変数 (ここでは Acceleration) を表します。額から顎までの相対的な弧の長さは 2 番目の変数 (Displacement)、額の形は3 番目の変数 (Horsepower)、顎の形は 4 番目の変数 (MPG)、目の間の幅は 5 番目の変数 (Weight) を表します。詳細については、フェースの特徴を参照してください。
MPG 変数は表示せずに、代わりに Weight 変数を顎の形で表すように前のプロットを変更します。
figure
glyphplot(Tbl{:,:},Glyph="face",Features=[1 2 3 0 4])
欠損値を含んでいた MPG 変数をプロットに表示しないようにしたため、前のプロットで省略されていた一部の観測値がプロットに含まれるようになります。
グリフ プロットにおけるグリフのレイアウトを指定します。グリフをプロットするグリッド、またはグリフの中心の位置を指定できます。
100 台の自動車の測定値を含む carsmall データ セットを読み込みます。Acceleration、Displacement、Horsepower、MPG、および Weight の変数を組み合わせて table にします。最初の 12 台の自動車の値を表示します。
load carsmall
Tbl = table(Acceleration,Displacement,Horsepower,MPG,Weight);
head(Tbl,12) Acceleration Displacement Horsepower MPG Weight
____________ ____________ __________ ___ ______
12 307 130 18 3504
11.5 350 165 15 3693
11 318 150 18 3436
12 304 150 16 3433
10.5 302 140 17 3449
10 429 198 15 4341
9 454 220 14 4354
8.5 440 215 14 4312
10 455 225 14 4425
8.5 390 190 15 3850
17.5 133 115 NaN 3090
11.5 350 165 NaN 4142
Tbl の自動車の測定値を使用してスター プロットを作成します。スターを 8 行 12 列のグリッドに配置します。
glyphplot(Tbl{:,:},Grid=[8 12])
グリッドが 8 行 12 列であるため、プロットには最大で 96 個の観測値を表示できます。ここでは、Tbl 内の欠損値がないすべての観測値がプロットに含まれています。既定では、glyphplot は Tbl 内の観測値のインデックスで各グリフにラベルを付けます。
スターを 2 行 2 列のグリッドに表示します。名前と値の引数 Page を使用して、表示するスターのセットを指定します。ここでは、最初の 2 セットのスターを表示します。
figure
tiledlayout(1,2)
nexttile
glyphplot(Tbl{:,:},Grid=[2 2])
title("First Set of Stars")
nexttile
glyphplot(Tbl{:,:},Grid=[2 2],Page=2)
title("Second Set of Stars")
Page を数値ベクトルまたは "all" として指定して、複数のページを連続して表示することもできます。glyphplot の呼び出し後、Enter キーを押すと次のグリフのページが表示されます。
あるいは、スクロール バーをもつ 1 つのプロットにすべてのスターのセットを表示します。
glyphplot(Tbl{:,:},Grid=[2 2],Page="scroll")
グリフのグリッドを作成する代わりに、グリフの中心の位置を指定できます。
最初の 4 台の自動車のスターをプロットします。glyphplot に渡す前にデータ セットを標準化します。そうしないと、関数はプロットの前にデータ セット全体ではなく 4 つの観測値のみを標準化します。スターの中心の位置を行列として指定します。行 "i" がスターの中心 "i" の "x" 軸の値と "y" 軸の値にそれぞれ対応します。最大のスターの半径を 0.5 と指定します。スターを比較しやすいように、グリッド ラインをプロットに追加します。
figure
X = normalize(Tbl{:,:},"range",[0.1 0.9]);
glyphplot(X(1:4,:),Centers=[1 2; 2 2; 1 1; 2 1],Radius=0.5, ...
Standardize="off")
grid on
グリフの中心の位置を指定する場合、グリフ プロットに観測値のラベルは含まれません。
glyphplot の呼び出しでいくつかのプロット プロパティを設定して、グリフ プロットの外観を調整します。また、プロットの作成後にその外観を変更して調整します。
fisheriris データ セットを読み込みます。このデータ セットには、3 つの種のアヤメの花による 4 種類の測定値 (萼弁の長さ、萼弁の幅、花弁の長さ、花弁の幅) が含まれています。
load fisheriris行列 meas には、150 本の花についての 4 つの測定値すべてが格納されています。cell 配列 species には、150 本の花のそれぞれに対する種の名前が格納されています。
それぞれの花のインデックスと種の名前を格納する label という名前の新しい変数を作成します。
index = (1:150)';
label = index + "-" + species;meas のアヤメの測定値を使用してスター プロットを作成し、label 変数を使用して各スターにラベルを付けます。スターの色を薄い緑と指定します。glyphplot の呼び出しでラインのプロパティ (Color など) を指定すると、関数はそのプロパティの値をプロット内のすべてのグリフに対して設定します。簡単にするために、49 から 60 までの花を 4 行 3 列のグリッドに表示します。
プロットの作成後にその外観を変更するには、Line オブジェクトおよび Text オブジェクトの配列 s を返します。
lightGreen = [0.4660 0.6740 0.1880]; s = glyphplot(meas,ObsLabels=label, ... Color=lightGreen, ... Grid=[4 3],Page=5);

花 51 に対応するスターについて、スターの周囲長の色、スターのスポークの色、スターのラベルのフォントを変更します。
purple = [0.4940 0.1840 0.5560];
lightBlue = [0.3010 0.7450 0.9330];
s(3,1).Color = purple;
s(3,2).Color = lightBlue;
s(3,3).FontWeight = "bold";
花 51 に対応するスターで、輪郭が紫、スポークが薄い青、ラベルが太字になります。
スター プロットの代わりにフェース プロットを使用して前のプロットを再作成します。Line オブジェクトおよび Text オブジェクトの配列 f を返して変更します。
figure f = glyphplot(meas,Glyph="face",ObsLabels=label, ... Color=lightGreen, ... Grid=[4 3],Page=5); f(3,1).Color = purple; f(3,2).Color = lightBlue; f(3,3).FontWeight = "bold";

花 51 に対応するフェースで、フェースが紫、目が薄い青、ラベルが太字になります。
入力引数
多変量データ。数値行列として指定します。X の行は観測値に対応し、列は変数に対応します。
glyphplot は、プロットする変数のいずれかに欠損 (NaN) 値のある観測値は表示しません。
例: rand(100,10)
データ型: single | double
プロットの Figure。Figure オブジェクトとして指定します。Figure オブジェクトの作成の詳細については、figure を参照してください。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
例: glyphplot(X,Grid=[3 2],Page=5) は、グリフの 5 ページ目を 3 行 2 列のレイアウトで表示するように指定します。
グリフのレイアウト。2 つの正の整数のベクトルとして指定します。最初の値はプロットにおけるグリフの行数を示し、2 番目の値は列数を示します。
観測値の数がグリッド レイアウトのエントリ数 (つまり行数と列数の積) より少ない場合、一部のグリッド エントリが空になります。観測値の数がグリッド エントリの数より多い場合は、名前と値の引数 Page を使用して、表示するグリフのページを指定できます。
グリフのレイアウトの指定にはグリッド (Grid) またはグリフの中心位置 (Centers) のいずれかを使用し、両方は使用しません。例については、グリフのレイアウトの指定を参照してください。
例: Grid=[5 10]
データ型: single | double
表示するグリフのページ。数値ベクトル、"all"、または "scroll" として指定します。
Pageが数値ベクトルの場合、glyphplotは指定されたページをEnterキーを押したときに連続して表示します。Pageが"all"の場合、glyphplotはすべてのページをEnterキーを押したときに連続して表示します。Pageが"scroll"の場合、glyphplotはスクロール バーをもつ 1 つのプロットを表示します。グリフの他のページを表示するにはスクロール バーを使用します。
この値は、グリッド (Grid) を使用してグリフのレイアウトを指定する場合以外は glyphplot で無視されます。
例: Page=2
例: Page=1:4
例: Page="scroll"
データ型: single | double | char | string
グリフの中心の位置。2 列の数値行列として指定します。Centers の各行は X の観測値に対応します。最初のエントリは中心の x 軸座標に対応し、2 番目のエントリは y 軸座標に対応します。
グリフのレイアウトの指定にはグリッド (Grid) またはグリフの中心位置 (Centers) のいずれかを使用し、両方は使用しません。例については、グリフのレイアウトの指定を参照してください。Centers の値は、グリッド (Grid) を使用してグリフのレイアウトを指定する場合は glyphplot で無視されます。
例: Centers=[1 1; 1 2; 1 3; 1 4; 2 1; 2 2; 2 3; 2 4]
データ型: single | double
最大のグリフの半径。正のスカラーとして指定します。関数は、最大のグリフの半径が Radius の値と等しくなるようにスケーリングします。
この値は、グリフの中心位置 (Centers) を使用してグリフのレイアウトを指定する場合以外は glyphplot で無視されます。
例: Radius=0.5
データ型: single | double
変数のラベル。文字配列、string 配列、または文字ベクトルの cell 配列として指定します。glyphplot 関数は、グリフのデータ ヒントに変数のラベルを含めます。ラベルは X の変数ごとに指定します。空のラベルには "" または '' を使用します。
既定では、変数のラベルは、最初の変数が Variable 1、2 番目の変数が Variable 2 のようになります。
例: VarLabels=["Sepal Length","Sepal Width","Petal Length","Petal Width"]
データ型: char | string | cell
出力引数
プロットの変更に使用するオブジェクト。Line オブジェクトおよび Text オブジェクトの配列として返されます。
スター プロットの場合、
g(:,1)にスターの周囲長のLineオブジェクトが格納され、g(:,2)にスポークのLineオブジェクトが格納されます。フェース プロットの場合、
g(:,1)に目を除くすべてのフェースの特徴のLineオブジェクトが格納され、g(:,2)に目のLineオブジェクトが格納されます。
ラベルがある場合は、その Text オブジェクトが g(:,3) に格納されます。
詳細
Glyph="face" の場合、X の列はグリフ プロットにおけるフェースの特徴に対応します。次の表は、変数とフェースの特徴の既定の対応を示したものです。この対応は features 引数を使用して変更できます。関数は、使用されていない特徴については既定値で表示します。
| 列 | フェースの特徴 |
|---|---|
1 | フェースの大きさ |
2 | 額から顎までの相対的な弧の長さ |
3 | 額の形 |
4 | 顎の形 |
5 | 目の間の幅 |
6 | 目の縦方向の位置 |
7 | 目の高さ |
8 | 目の幅 — この値は眉の幅にも影響します。 |
9 | 目の角度 — この値は眉の角度にも影響します。 |
10 | 眉の縦方向の位置 |
11 | 眉の幅 (目に比例) |
12 | 眉の角度 (目に比例) |
13 | 瞳の方向 |
14 | 鼻の長さ |
15 | 口の縦方向の位置 |
16 | 口の形 |
17 | 口の弧の長さ |
ヒント
Line のプロパティ に記載されているプロパティの場合、プロパティの名前と値を指定することによりグリフの特性を変更できます。しかし、このアプローチではプロット内のグリフすべてに変更が適用されます。特定のグリフのみを変更するには、
Lineオブジェクトを返す構文を使用し、ドット表記を使用して各オブジェクトのプロパティを個別に調整します。例については、グリフ プロットの外観の調整を参照してください。
バージョン履歴
R2006a より前に導入プロットのターゲットの Figure は、入力引数 fig を使用して指定します。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)