biplot
句法
biplot(coefs)
biplot(coefs,Name,Value)
h = biplot(___)
描述
biplot(
在矩陣中創建系數的雙標圖coefs
)coefs
。如果coefs
有兩列,則雙標圖為2-D;如果有三列,則 雙標圖為3-D。雙圖中的軸表示列的列coefs
,雙圖中的矢量表示coefs
(觀察到的變量)的行。
biplot(
使用一個或多個名稱 - 值對參數指定其他選項。例如,您可以指定coefs
,Name,Value
)'Positive','true'
將雙標圖限制為正象限(2-D)或八分區(3-D)。
例子
系數和分數的雙標圖
為carsmall
數據集創建前三個主成分系數,觀測值和觀測變量的雙標圖。
加載示例數據。
加載carsmall
創建一個由變量的矩陣Acceleration
,Displacement
,Horsepower
,MPG
,和Weight
。刪除矩陣中缺少值的行。
X = [加速度位移馬力MPG重量]; X = rmmissing(X);
可直接聯系客服QQ交代需求:953586085
標准化X
並執行主成分分析。
Z = zscore(X); %標准化數據 [coefs,score] = pca(Z);
5乘5矩陣coefs
包含主成分系數(每個主成分一列)。矩陣score
包含主成分分數(觀察結果)。
創建前三個主成分系數的雙標圖。雙標圖的軸代表列coefs
,而雙標圖中的矢量代表行的列coefs
。
雙標圖(coefs(:,1:3))
通過標記每個變量並在前三個主要成分的空間中繪制觀察結果來創建更詳細的雙標圖。
vbls = { 'Accel','Disp','HP','MPG','Wgt' }; %變量 雙標簽的標簽(coefs(:,1:3),'得分',得分(:,1:3),'VarLabels',vbls);
修改Biplot屬性
通過指定支持的行屬性名稱和值,並通過使用句柄創建的圖形對象來控制雙標圖的外觀biplot
。
加載示例數據。
加載carsmall
創建一個由變量的矩陣Acceleration
,Displacement
和MPG
。刪除矩陣中缺少值的行。
X = [加速位移MPG]; X = rmmissing(X);
標准化X
並執行主成分分析。
Z = zscore(X); %標准化數據 [coefs,score] = pca(Z);
3乘3矩陣coefs
包含主成分系數(每個主成分一列)。矩陣score
包含主成分分數(觀察結果)。
在前兩個主成分的空間中創建觀察的雙標圖。使用biplot的默認屬性。
h = biplot(coefs(:,1:2),'得分',得分(:,1:2));
h
是圖形對象句柄的向量。您可以修改返回的行對象的屬性biplot
。
標記三個變量以便於識別。指定圓圈作為標記符號,藍色指定所有線條對象的線條顏色。
vbls = { 'Accel','Disp','MPG' }; %變量標簽數組 h1 = biplot(coefs(:,1:2),'得分',得分(:,1:2),...... '顏色','b','標記','o','VarLabels',vbls);
h1
是圖形對象句柄的向量。查看前幾個元素h1
。
h1(1:10)%前十個對象句柄
ans = 10x1圖形陣列: 線(varline) 線(varline) 線(varline) 線(varmarker) 線(varmarker) 線(varmarker) 文字(varlabel) 文字(varlabel) 文字(varlabel) 線(obmarker)
變量labels(h1(7:9)
)的句柄是文本。因此,為行屬性指定的設置不會影響這些標簽。
在前兩個主成分的空間中創建另一個觀察雙標圖,並標記三個變量以便於識別。
h2 = biplot(coefs(:,1:2),'得分',得分(:,1:2),'VarLabels',vbls);
h2
是圖形對象句柄的向量。查看前幾個元素h2
。
h2(1:10)%前十個對象句柄
ans = 10x1圖形陣列: 線(varline) 線(varline) 線(varline) 線(varmarker) 線(varmarker) 線(varmarker) 文字(varlabel) 文字(varlabel) 文字(varlabel) 線(obmarker)
h2
包含104個對象句柄。
-
前三個句柄(
h(1:3)
)對應於三個變量的行句柄。 -
句柄
h(4:6)
對應於三個變量的標記句柄。 -
句柄
h(7:9)
對應於三個變量的文本句柄。 -
接下來的94個句柄對應於觀察的線句柄。
-
最后一個手柄對應於軸線的線手柄。
通過使用圖形對象的句柄來修改biplot的特定屬性。
更改變量(矢量)的線條顏色。
對於 k = 1:3 h2(k).Color = 'r' ; %將紅色指定為線條顏色 結束
修改變量標簽的字體。
對於 k = 7:9 h2(k).FontWeight = 'bold' ; %指定粗體字體 結尾
更改觀察標記的顏色。
對於 k = 10:103 h2(k).MarkerEdgeColor = 'k' ; %指定觀察 結束的黑色
輸入參數
名稱 - 值對參數
指定可選的以逗號分隔的Name,Value
參數對。Name
是參數名稱,Value
是相應的值。 Name
必須出現在引號內。您可以按任何順序指定多個名稱和值對參數 Name1,Value1,...,NameN,ValueN
。
biplot(coefs,'VarLabels',varlabels)
使用數組中的文本標記每個向量(變量)varlabels
。
'Scores'
- 分數
矩陣
分數,指定為逗號分隔對,由'Scores'
與列數相同的矩陣 組成 coefs
。Scores
通常包含創建的主成分分數pca
或估計的因子分數 factoran
。該biplot
函數將Scores
(觀察)的每一行表示為點,將每行 coefs
(觀察到的變量)表示為矢量。
例: 'Scores',score(:,1:3)
數據類型:single
|double
'VarLabels'
- 變量標簽
字符數組 | 字符串數組 | 細胞陣列
變量標簽,指定為逗號分隔對,由 'VarLabels'
字符數組,字符串數組或單元數組組成。 biplot
用數組中的文本標記每個向量(觀察變量)。
例: 'VarLabels',varlabels
數據類型:char
| string
|cell
'ObsLabels'
- 觀察標簽
字符數組 | 字符串數組 | 細胞陣列
觀察標簽,指定為逗號分隔對,由 'ObsLabels'
字符數組,字符串數組或單元數組組成。 biplot
在顯示數據游標時,使用數組中的文本作為觀察名稱。
例: 'ObsLabels',obslabels
數據類型:char
| string
|cell
'Positive'
- 以正坐標繪制的指標
false
(默認)|true
用於在正坐標中繪制的指示符,指定為由'Positive'
這些邏輯值組成的逗號分隔對和其中一個邏輯值。
值 | 描述 |
---|---|
false |
在 |
true |
將雙標圖限制為正象限(2-D)或八分之一(3-D) |
例: 'Positive',true
數據類型: logical
'PropertyName'
- 屬性名稱
支持的行屬性值
屬性名稱,指定為逗號分隔對,由一個或多個支持的行屬性的屬性名稱及其關聯值組成。這些屬性是由其創建的所有基本線圖形對象的名稱和值biplot
。指定的屬性名稱控制圖形對象的外觀和行為。
例: 'Marker','square','MarkerSize',10
輸出參數
算法
雙標圖允許您可視化每個變量對前兩個或三個主成分的貢獻的大小和符號,並根據這些成分表示每個觀察。該biplot
函數:
-
強制執行符號約定,強制每列中具有最大幅度的元素
coefs
為正。此操作會將一些向量翻轉coefs
到相反的方向,但通常會使繪圖更容易閱讀。對圖的解釋不受影響,因為改變系數向量的符號不會改變其含義。 -
縮放分數,使其適合情節。也就是說,該函數將每個得分除以所有得分的最大絕對值,並乘以最大系數長度
coefs
。然后biplot
根據系數的符號約定改變分數坐標的符號。