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
根据系数的符号约定改变分数坐标的符号。