Main Content

ParallelCoordinatesPlot 属性

控制平行坐标图的外观和行为

ParallelCoordinatesPlot 属性控制 ParallelCoordinatesPlot 对象的外观和行为。通过更改属性值,您可以修改绘图显示的特定方面。例如,您可以添加标题:

p = parallelplot(rand(10,4));
p.Title = 'My Title';

标签

全部展开

绘图标题,指定为字符向量、字符串数组、字符向量元胞数组或分类数组。默认情况下,绘图没有标题。

要创建一个多行标题,请指定字符串数组或字符向量元胞数组。数组中的每个元素对应一行文本。

如果将标题指定为分类数组,MATLAB® 将使用数组中的值,而不是类别。

示例: p = parallelplot(__,'Title','My Title Text')

示例: p.Title = 'My Title Text'

示例: p.Title = {'My','Title'}

用于说明坐标变量集的水平轴标签,指定为字符向量、字符串数组、字符向量元胞数组或分类数组。在绘图中,CoordinateLabel 值显示在 CoordinateTickLabels 值下方。

要创建一个多行标签,请指定字符串数组或字符向量元胞数组。数组中的每个元素对应一行文本。

如果将标签指定为分类数组,MATLAB 将使用数组中的值,而不是类别。

示例: p = parallelplot(__,'CoordinateLabel','Measurements')

示例: p.CoordinateLabel = 'Measurements'

示例: p.CoordinateLabel = {'Measurements','(in inches)'}

坐标变量标签,指定为字符串数组、字符向量元胞数组或分类数组。每个坐标刻度标签紧挨标尺下方显示,用于显示该坐标变量的值。

如果将标签指定为分类数组,MATLAB 将使用数组中的值,而不是类别。

示例: p = parallelplot(__,'CoordinateTickLabels',{'Height','Age','Smoker'})

示例: p.CoordinateTickLabels = {'Height','Age','Smoker'}

垂直轴标签,用于说明 SourceTableData 中的数据行,指定为字符向量、字符串数组、字符向量元胞数组或分类数组。

要创建一个多行标签,请指定字符串数组或字符向量元胞数组。数组中的每个元素对应一行文本。

如果将标签指定为分类数组,MATLAB 将使用数组中的值,而不是类别。

示例: p = parallelplot(__,'DataLabel','Patients')

示例: p.DataLabel = 'Patients'

示例: p.DataLabel = {'Patients','(data set 1)'}

图例标题,指定为字符向量、字符串数组、字符向量元胞数组或分类数组。使用 '' 表示没有标题。

要创建一个多行标题,请指定字符串数组或字符向量元胞数组。数组中的每个元素对应一行文本。

如果将标题指定为分类数组,MATLAB 将使用数组中的值,而不是类别。

示例: p = parallelplot(__,'LegendTitle','My Title Text')

示例: p.LegendTitle = 'My Title Text'

示例: p.LegendTitle = {'My','Title'}

图例的可见性,指定为 'on''off',或者指定为数值或逻辑值 1 (true) 或 0 (false)。值 'on' 等效于 true'off' 等效于 false。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState 类型的 on/off 逻辑值。

LegendVisible 设置为 'on' 会显示图例,设置为 'off' 会隐藏图例。

如果 GroupData 为空 ([]),则 parallelplot 不显示图例。否则,默认情况下 parallelplot 显示图例。

在图例中,parallelplot 按照组在 GroupData 中首次出现的顺序显示其组名称。

示例: p = parallelplot(__,'LegendVisible','off')

示例: p.LegendVisible = 'off'

数据显示

全部展开

具有数值的坐标的归一化方法,指定为以下选项之一。

方法描述
'range'沿具有独立最小值和最大值的坐标标尺显示原始数据
'none'沿具有相同最小值和最大值的坐标标尺显示原始数据
'zscore'沿每个坐标标尺显示 Z 分数(均值为 0,标准差为 1)
'scale'沿每个坐标标尺显示按标准差缩放的值
'center'沿每个坐标标尺显示均值为 0 的中心化数据
'norm'沿每个坐标标尺显示 2-范数值

有关这些方法的详细信息,请参阅 normalize

对于作为逻辑向量、日期时间数组、持续时间数组、分类数组、字符串数组或字符向量元胞数组的坐标变量,parallelplot 沿坐标标尺均匀分布唯一的可能值,而不考虑归一化方法。

示例: p = parallelplot(__,'DataNormalization','none')

示例: p.DataNormalization = 'zscore'

沿坐标标尺的数据位移距离,指定为区间 [0,1] 中的数值标量。Jitter 值决定绘图线条从实际值出发沿坐标标尺位移的最大距离,其中位移是均匀随机量。如果您将 Jitter 属性设置为 1,则相邻抖动区域会恰好彼此接触。将 Jitter 属性设置为 0 可显示实际数据值。

一定程度的抖动对可视化分类数据特别有帮助,因为抖动使您能够更轻松地区分绘图线条。但是,Jitter 值会影响所有坐标变量,包括数值变量。

示例: p = parallelplot(__,'Jitter',0.5)

示例: p.Jitter = 0.2

颜色和样式

全部展开

组颜色,指定为下列形式之一:

  • 指定颜色名称、短名称或十六进制颜色代码的字符向量。十六进制颜色代码以井号 (#) 开头,后跟三个或六个 0F 范围内的十六进制数字。这些值不区分大小写。因此,颜色代码 '#FF8800''#ff8800''#F80''#f80' 是等效的。

  • 指定一个或多个颜色名称、短名称或十六进制颜色代码的字符串数组或字符向量元胞数组。

  • 范围 [0,1] 内的 RGB 值的三列矩阵。三列代表 R 值、G 值和 B 值。

从这些预定义的颜色、其等效 RGB 三元组及其十六进制颜色代码中进行选择。

颜色名称短名称RGB 三元组十六进制颜色代码外观
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

以下是 MATLAB 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。

RGB 三元组十六进制颜色代码外观
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

默认情况下,parallelplot 最多分配七种唯一的组颜色。当组的总数超过指定的颜色数量时,parallelplot 将循环使用指定的颜色。

示例: p = parallelplot(__,'Color',{'blue','black','green'})

示例: p.Color = [0 0 1; 0 0.5 0.5; 0.5 0.5 0.5]

示例: p.Color = {'#EDB120','#77AC30','#7E2F8E'}

组线型,指定为下列形式之一:

  • 指定一种线型的字符向量

  • 指定一个或多个线型的字符串数组或字符向量元胞数组

从这些线型选项中进行选择。

线型描述表示的线条
"-"实线

Sample of solid line

"--"虚线

Sample of dashed line

":"点线

Sample of dotted line

"-."点划线

Sample of dash-dotted line, with alternating dashes and dots

"none"无线条无线条

默认情况下,parallelplot 为每组绘图线条指定线型 '-'。当组的总数超过指定的线型数量时,parallelplot 将循环使用指定的线型。

示例: p = parallelplot(__,'LineStyle',':')

示例: p.LineStyle = {'-.','-','--'}

组线宽,指定为正标量或正向量,以磅为单位。默认情况下,parallelplot 为每组绘图线条指定线宽 1

当组的总数超过指定的线宽数量时,parallelplot 将循环使用指定的线宽。

示例: p = parallelplot(__,'LineWidth',1.5)

示例: p.LineWidth = [0.5 1.5 0.5]

组线条透明度,指定为值介于 0 和 1 之间的数值标量或数值向量。值越接近 0,指定的线条越透明,值越接近 1,指定的线条越不透明。默认情况下,parallelplot 为每组绘图线条指定 LineAlpha0.7

示例: p = parallelplot(__,'LineAlpha',0.75)

示例: p.LineAlpha = [0.2 0.7 0.4]

坐标标尺上的数据值的组标记符号,指定为下列形式之一:

  • 指定标记样式的字符向量

  • 指定一个或多个标记样式的字符串数组或字符向量元胞数组

从这些标记选项中进行选择。

标记描述生成的标记
"o"圆圈

Sample of circle marker

"+"加号

Sample of plus sign marker

"*"星号

Sample of asterisk marker

"."

Sample of point marker

"x"叉号

Sample of cross marker

"_"水平线条

Sample of horizontal line marker

"|"垂直线条

Sample of vertical line marker

"square"方形

Sample of square marker

"diamond"菱形

Sample of diamond marker

"^"上三角

Sample of upward-pointing triangle marker

"v"下三角

Sample of downward-pointing triangle marker

">"右三角

Sample of right-pointing triangle marker

"<"左三角

Sample of left-pointing triangle marker

"pentagram"五角形

Sample of pentagram marker

"hexagram"六角形

Sample of hexagram marker

"none"无标记不适用

默认情况下,parallelplot 将每个组的标记样式指定为 'none'。当组的总数超过指定的符号数量时,parallelplot 将循环使用指定的符号。

示例: p = parallelplot(__,'MarkerStyle','x')

示例: p.MarkerStyle = {'x','o'}

坐标标尺上的数据值的组标记大小,指定为非负标量或非负向量,测量值以磅为单位。默认情况下,parallelplot 将每个组的标记大小指定为 6。当组的总数超过指定的值数量时,parallelplot 将循环使用指定的值。

示例: p = parallelplot(__,'MarkerSize',10)

示例: p.MarkerSize = [4 6 8]

字体

全部展开

字体名称,指定为系统支持的一种字体名称。标题、标签、图例标题和组名称使用相同的字体。默认字体取决于具体操作系统和区域设置。

示例: p = parallelplot(__,'FontName','Cambria')

示例: p.FontName = 'Helvetica'

字体大小,指定为正标量。FontSize 对于标题、标签、图例标题和组名称是相同的。默认字体大小取决于具体操作系统和区域设置。

当您调整绘图元素的大小时,软件会自动更新字体大小。但是,更改 FontSize 属性会禁用这一自动调整大小功能。

示例: p = parallelplot(__,'FontSize',12)

示例: p.FontSize = 10

位置

全部展开

在增加、删除或更改装饰元素时保持不变的位置属性,指定为下列值之一:

  • "outerposition" - 在添加、删除或更改装饰元素(例如标题或轴标签)时,OuterPosition 属性保持不变。如需任何位置调整,MATLAB 会调整 InnerPosition 属性。

  • "innerposition" - 在添加、删除或更改装饰元素(例如标题或轴标签)时,InnerPosition 属性保持不变。如需任何位置调整,MATLAB 会调整 OuterPosition 属性。

注意

当父容器为 TiledChartLayout 对象时,设置此属性不起作用。

绘图在父容器(通常为图窗、面板或选项卡)中的内部大小和位置,指定为 [left bottom width height] 形式的四元素数值向量。内部位置不包括绘图标题、标签或图例。

  • leftbottom 元素定义容器左下角到绘图左下角的距离。

  • widthheight 元素是绘图的维度。

注意

当父容器为 TiledChartLayout 对象时,设置此属性不起作用。

完整平行坐标图在父容器(通常为图窗、面板或选项卡)中的外部大小和位置,指定为 [left bottom width height] 形式的四元素数值向量。[0 0 1 1] 的默认值包括容器的整个内部。

注意

当父容器为 TiledChartLayout 对象时,设置此属性不起作用。

绘图在父容器(通常为图窗、面板或选项卡)中的内部大小和位置,指定为 [left bottom width height] 形式的四元素数值向量。此属性等同于 InnerPosition 属性。

注意

当父容器为 TiledChartLayout 对象时,设置此属性不起作用。

位置单位,指定为下列值之一:

描述
'normalized'(默认值)根据容器进行归一化,容器通常是图窗或面板。容器的左下角对应到 (0,0),右上角对应到 (1,1)
'inches'英寸。
'centimeters'厘米。
'characters'

基于图形根对象的默认 uicontrol 字体:

  • 字符宽度等于字母 x 的宽度

  • 字符高度等于两个文本行的基线之间的距离。

'points'字体磅数。一磅等于 1/72 英寸。
'pixels'

像素。

从 R2015b 开始,以像素为单位的距离不再依赖 Windows®Macintosh 系统上的系统分辨率:

  • 在 Windows 系统上,一个像素是 1/96 英寸。

  • Macintosh 系统上,一个像素是 1/72 英寸

在 Linux® 系统上,一个像素的大小由系统分辨率确定。

在对象创建过程中将单位指定为名称-值对组时,您必须先设置 Units 属性,然后再指定要使用这些单位的属性(如 OuterPosition)。

布局选项,指定为 TiledChartLayoutOptionsGridLayoutOptions 对象。当图采用分块图布局或网格布局时,此属性非常有用。

要在分块图布局的网格中定位图,请设置 TiledChartLayoutOptions 对象的 TileTileSpan 属性。例如,假设有一个 3×3 分块图布局。布局的中心有一个包含若干图块的网格,外边缘四周各有一个图块。实际上,该网格不可见,外侧图块也不占用空间,除非您用坐标区或图填充它们。

Diagram of a 3-by-3 tiled chart layout.

以下代码将图 c 放置在网格的第三个图块中。

c.Layout.Tile = 3;

要使图占据多个图块,请将 TileSpan 属性指定为二元素向量。例如,此图占据了 2 行和 3 列的图块。

c.Layout.TileSpan = [2 3];

要将图放在四周的某个图块中,请将 Tile 属性指定为 "north""south""east""west"。例如,将值设置为 "east" 会将图放置在网格右侧的图块中。

c.Layout.Tile = "east";

要将图放入 App 内的一个布局中,请将此属性指定为 GridLayoutOptions 对象。有关在 App 中使用网格布局的详细信息,请参阅 uigridlayout

如果图不是分块图布局或网格布局的子级(例如,如果它是图窗或面板的子级),则此属性为空且不起作用。

对象的可见性,指定为 'on''off',或者指定为数值或逻辑值 1 (true) 或 0 (false)。值 'on' 等效于 true'off' 等效于 false。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState 类型的 on/off 逻辑值。

  • 'on' - 显示 ParallelCoordinatesPlot 对象。

  • 'off' - 隐藏 ParallelCoordinatesPlot 对象而不删除它。您仍可以访问不可见的 ParallelCoordinatesPlot 对象的属性。

表数据

全部展开

源表,指定为表。

您可以使用 table 函数根据工作区变量创建表,也可以使用 readtable 函数以表的形式导入数据。

注意

使用矩阵数据(而不是表格数据)时,此属性将被忽略并且为只读。

要显示为坐标的表变量,指定为下列形式之一:

  • 数值向量 - 指示表变量的索引

  • 字符串数组或字符向量元胞数组 - 指示表变量的名称

  • 逻辑向量 - 包含所选表变量的 true 元素

如果设置 CoordinateVariables 属性值,则 CoordinateDataCoordinateTickLabels 属性将更新为合适的值。

注意

使用矩阵数据(而不是表格数据)时,此属性将被忽略并且为只读。

示例: p.CoordinateVariables = {'Age','Height','Weight'} 指定名为 'Age''Height''Weight' 的变量。

用于对数据分组的表变量,指定为下列形式之一:

  • 字符向量或字符串标量 - 指示表变量名称之一。

  • 数值标量 - 指示表变量索引

  • 逻辑向量 - 包含表变量的一个 true 元素

与表变量关联的值必须构成一个数值向量、逻辑向量、分类数组、字符串数组或字符向量元胞数组。

GroupVariableSourceTable 中的行分成若干个唯一组。parallelplot 为每组分配一种默认颜色。在图例中,parallelplot 按照组在 GroupData 中首次出现的顺序显示其组名称。

当您指定 GroupVariable 时,MATLAB 会更新 GroupData 属性值。

注意

使用矩阵数据(而不是表格数据)时,此属性将被忽略并且为只读。

示例: p.GroupVariable = 'Smoker'

矩阵数据

全部展开

输入数据,指定为数值矩阵。

注意

如果使用表格数据,则不能设置此属性。

显示为坐标的变量,指定为下列形式之一:

  • 数值向量 - 指示源表或输入数据矩阵的列

  • 逻辑向量 - 包含源表或输入数据矩阵中选定列的 true 元素

注意

如果使用表格数据,则不能设置此属性。CoordinateData 的值会根据您使用 CoordinateVariables 属性选择的表变量自动更新。

示例: p.CoordinateData = [1 5:7]

分组数据的值,指定为数值向量、逻辑向量、分类数组、字符串数组或字符向量元胞数组。

GroupDataSourceTableData 中的行分成若干个唯一组。parallelplot 为每组分配一种默认颜色。在图例中,parallelplot 按照组在 GroupData 中首次出现的顺序显示其组名称。

注意

如果使用表格数据,则不能设置此属性。GroupData 值将根据您使用 GroupVariable 属性选择的表变量自动填充。

示例: p.GroupData = [1 2 1 3 2 1 3 3 2 3]

示例: p.GroupData = categorical({'blue','red','yellow','blue','yellow','red','red','yellow','blue','red'})

父级/子级

全部展开

父容器,指定为 FigurePanelTabTiledChartLayoutGridLayout 对象。

父级的 Children 属性中 ScatterHistogramChart 的对象句柄的可见性,指定为下列值之一:

  • 'on' - 对象句柄始终可见。

  • 'off' - 对象句柄始终不可见。该选项用于防止另一函数无意中对 UI 进行更改。要在执行该函数时暂时隐藏句柄,可将 HandleVisibility 设置为 'off'

  • 'callback' - 对象句柄在回调或回调所调用的函数中可见,但在从命令行调用的函数中不可见。此选项阻止通过命令行访问对象,但允许回调函数访问对象。

如果父级的 Children 属性中未列出该对象,则通过搜索对象层次结构或查询句柄属性获取对象句柄的函数无法返回该对象。这些函数包括 getfindobjgcagcfgconewplotclaclfclose

隐藏的对象句柄仍有效。将根 ShowHiddenHandles 属性设置为 'on' 可以列出所有对象句柄,而不管它们的 HandleVisibility 属性设置是什么。

版本历史记录

在 R2019a 中推出

全部展开

另请参阅