StackedLineChart 属性
堆叠图的外观和行为
StackedLineChart 属性控制堆叠图的外观和行为。在堆叠图中,您可以在垂直堆叠的单独 y 轴中绘制表或时间表的变量或矩阵的列。通过更改属性值,您可以修改堆叠图的特定方面。
您可以使用圆点表示法查询和设置属性。
T = readtable("outages.csv");
s = stackedplot(T);
c = s.Color;
s.Color = "red";表数据
源表,指定为表、时间表、表元胞数组或时间表元胞数组。
您可以使用 table 函数根据工作区变量创建表,也可以使用 readtable 函数以表的形式导入数据。您可以使用 timetable 函数根据工作区变量创建时间表,也可以使用 readtimetable 函数以时间表的形式导入数据。
注意
当绘制的数据来自数组时,该属性将被忽略并且为只读。
数组数据
x 值,指定为向量。向量中的元素数必须等于 YData 属性值中的行数。
注意
当绘制的数据来自表或时间表时,该属性将被忽略并且为只读。
示例: [1:10]
数据类型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration
y 值,指定为数组。stackedplot 函数在其自己的 y 轴中绘制 YData 值的每列。
注意
当绘制的数据来自表或时间表时,该属性将被忽略并且为只读。
示例: [1:10;5:5:50]
数据类型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration
堆叠图显示
y 轴的显示变量,使用下表中的索引方案之一指定。
注意:如果基于多个表或时间表创建一个堆叠图,则 DisplayVariables 只能是字符串数组、字符向量元胞数组或其元素是字符串数组或字符向量元胞数组的元胞数组。
| 索引方案 | 示例 |
|---|---|
变量名称:
|
|
变量索引(仅适用于单个表或时间表):
|
|
变量类型(仅适用于单个表或时间表):
|
|
嵌套元胞数组中指定的变量:
|
|
示例: s.DisplayVariables = [1 3 4] 指定第一个、第三个和第四个变量。
示例: s.DisplayVariables = {["Temp1","Temp2"],"Pressure"} 使用嵌套元胞数组指定 Temp1 和 Temp2 一起绘制。
示例: s.DisplayVariables = {{1,2},5} 按数字指定变量,并将第一个和第二个变量一起绘制。
事件的显示,指定为 "on" 或 "off",或者指定为数值或逻辑值 1 (true) 或 0 (false)。值 "on" 等效于 true,"off" 等效于 false。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState 类型的 on/off 逻辑值。
事件来自关联到输入时间表的事件表。stackedplot 函数将事件绘制为堆叠图上的垂直线或着色区域。有关事件表的信息,请参阅 eventtable。
用于在同一 y 轴上合并同名变量的标志,指定为数值或逻辑值 1 (true) 或 0 (false)。将此标志设置为 false 或 0 表示在不同的 y 轴上绘制来自不同输入但名称相同的变量。
包含 x 值的表变量,指定为字符串数组、字符向量、字符向量元胞数组、整数数组或逻辑数组。
如果输入是一个表,则
XVariable指定该表中的一个变量。如果输入是多个表,则
XVariable可以为所有表指定一个变量,也可以为每个表指定一个不同的变量。例如,如果输入是
tbl1,tbl2,tbl3,并且每个表都有一个名为X的变量提供 x 值,则XVariable可以是"X"。但是,如果tbl1包含名为X1的变量,tbl2包含名为X2的变量,而tbl3包含名为X3的变量,则XVariable为["X1","X2","X3"]。
注意
当绘制的数据来自数组或时间表时,该属性将被忽略并且为只读。
最小和最大 x 坐标轴范围,指定为 [min max] 形式的二元素向量,其中 max 大于 min。您可以将范围指定为数字、分类、日期时间或持续时间值。但您指定的值类型必须与坐标轴上的值类型匹配。
您可以指定这两个范围,也可以指定一个范围而让坐标区自动计算另一个范围。对于自动计算的最小值或最小值范围,分别使用 -inf 或 inf 来表示。
示例: s.XLimits = [0 100]
示例: s.XLimits = [-inf 100]
示例: s.XLimits = [0 inf]
数据类型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | datetime | duration
y 轴的属性,指定为由 StackedAxesProperties 对象组成的数组。您可以对 AxesProperties 进行索引以更改堆叠图中一个变量的 y 轴属性。有关详细信息,请参阅 StackedAxesProperties 属性。
示例: s.AxesProperties(2).YLimits = [0 10] 指定堆叠图中第二个绘图的范围。其他绘图不变。
线条的属性,指定为 StackedLineProperties 对象数组。您可以对 LineProperties 进行索引以更改堆叠图中一个变量的线条属性。有关详细信息,请参阅 StackedLineProperties 属性。
示例: s.LineProperties(3).Color = "red" 更改堆叠图中第三个绘图的线条颜色。其他绘图不变。
网格线的显示方式,指定为 "on" 或 "off",或者指定为数值或逻辑值 1 (true) 或 0 (false)。值 "on" 等效于 true,"off" 等效于 false。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState 类型的 on/off 逻辑值。
线条
线条颜色,指定为 RGB 三元组、十六进制颜色代码或第一个表中列出的颜色选项之一。
对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于
[0,1]范围内,例如[0.4 0.6 0.7]。十六进制颜色代码是字符串标量或字符向量,以井号 (
#) 开头,后跟三个或六个十六进制数字,范围可以是0到F。这些值不区分大小写。因此,颜色代码"#FF8800"与"#ff8800"、"#F80"与"#f80"是等效的。
此外,还可以按名称指定一些常见的颜色。下表列出了一些命名颜色选项、其等效 RGB 三元组及十六进制颜色代码。
| 颜色名称 | 短名称 | RGB 三元组 | 十六进制颜色代码 | 外观 |
|---|---|---|---|---|
"red" | "r" | [1 0 0] | "#FF0000" |
|
"green" | "g" | [0 1 0] | "#00FF00" |
|
"blue" | "b" | [0 0 1] | "#0000FF" |
|
"cyan" | "c" | [0 1 1] | "#00FFFF" |
|
"magenta" | "m" | [1 0 1] | "#FF00FF" |
|
"yellow" | "y" | [1 1 0] | "#FFFF00" |
|
"black" | "k" | [0 0 0] | "#000000" |
|
"white" | "w" | [1 1 1] | "#FFFFFF" |
|
"none" | 不适用 | 不适用 | 不适用 | 无颜色 |
下表列出了浅色和深色主题中绘图的默认调色板。
| 调色板 | 调色板颜色 |
|---|---|
在 R2025a 之前的版本中: 大多数绘图默认使用这些颜色。 |
|
|
|
您可以使用 orderedcolors 和 rgb2hex 函数获取这些调色板的 RGB 三元组和十六进制颜色代码。例如,获取 "gem" 调色板的 RGB 三元组并将其转换为十六进制颜色代码。
RGB = orderedcolors("gem");
H = rgb2hex(RGB);在 R2023b 之前的版本中: 使用 RGB = get(groot,"FactoryAxesColorOrder") 获取 RGB 三元组。
在 R2024a 之前的版本中: 使用 H = compose("#%02X%02X%02X",round(RGB*255)) 获取十六进制颜色代码。
示例: "blue"
示例: [0 0 1]
示例: "#0000FF"
线型,指定为下表中列出的选项之一。
| 线型 | 描述 | 表示的线条 |
|---|---|---|
"-" | 实线 |
|
"--" | 虚线 |
|
":" | 点线 |
|
"-." | 点划线 |
|
"none" | 无线条 | 无线条 |
线宽,指定为以磅为单位的正值,其中 1 磅 = 1/72 英寸。如果该线条具有标记,则线条宽度也会影响标记边。
线宽不能小于像素的宽度。如果将线宽设置为小于系统上像素宽度的值,则线条显示为一个像素的宽度。
标记
标记符号,指定为下表中列出的值之一。默认情况下,对象不显示标记。指定标记符号可在每个数据点或顶点添加标记。
| 标记 | 描述 | 生成的标记 |
|---|---|---|
"o" | 圆圈 |
|
"+" | 加号 |
|
"*" | 星号 |
|
"." | 点 |
|
"x" | 叉号 |
|
"_" | 水平线条 |
|
"|" | 垂直线条 |
|
"square" | 方形 |
|
"diamond" | 菱形 |
|
"^" | 上三角 |
|
"v" | 下三角 |
|
">" | 右三角 |
|
"<" | 左三角 |
|
"pentagram" | 五角形 |
|
"hexagram" | 六角形 |
|
"none" | 无标记 | 不适用 |
标记大小,指定为以磅为单位的正值,其中 1 磅 = 1/72 英寸。
标记轮廓颜色,指定为 "none"、RGB 三元组、十六进制颜色代码或第一个表中列出的颜色选项之一。
对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于
[0,1]范围内,例如[0.4 0.6 0.7]。十六进制颜色代码是字符向量或字符串标量,以井号 (
#) 开头,后跟三个或六个十六进制数字,范围可以是0到F。这些值不区分大小写。因此,颜色代码"#FF8800"与"#ff8800"、"#F80"与"#f80"是等效的。
此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。
| 颜色名称 | 短名称 | RGB 三元组 | 十六进制颜色代码 | 外观 |
|---|---|---|---|---|
"red" | "r" | [1 0 0] | "#FF0000" |
|
"green" | "g" | [0 1 0] | "#00FF00" |
|
"blue" | "b" | [0 0 1] | "#0000FF" |
|
"cyan" | "c" | [0 1 1] | "#00FFFF" |
|
"magenta" | "m" | [1 0 1] | "#FF00FF" |
|
"yellow" | "y" | [1 1 0] | "#FFFF00" |
|
"black" | "k" | [0 0 0] | "#000000" |
|
"white" | "w" | [1 1 1] | "#FFFFFF" |
|
"none" | 不适用 | 不适用 | 不适用 | 无颜色 |
以下是 MATLAB® 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。
| RGB 三元组 | 十六进制颜色代码 | 外观 |
|---|---|---|
[0 0.4470 0.7410] | "#0072BD" |
|
[0.8500 0.3250 0.0980] | "#D95319" |
|
[0.9290 0.6940 0.1250] | "#EDB120" |
|
[0.4940 0.1840 0.5560] | "#7E2F8E" |
|
[0.4660 0.6740 0.1880] | "#77AC30" |
|
[0.3010 0.7450 0.9330] | "#4DBEEE" |
|
[0.6350 0.0780 0.1840] | "#A2142F" |
|
示例: [0.5 0.5 0.5]
示例: "blue"
示例: "#D2F9A7"
标记填充颜色,指定为 "none"、RGB 三元组、十六进制颜色代码或第一个表中列出的颜色选项之一。
对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于
[0,1]范围内,例如[0.4 0.6 0.7]。十六进制颜色代码是字符向量或字符串标量,以井号 (
#) 开头,后跟三个或六个十六进制数字,范围可以是0到F。这些值不区分大小写。因此,颜色代码"#FF8800"与"#ff8800"、"#F80"与"#f80"是等效的。
此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。
| 颜色名称 | 短名称 | RGB 三元组 | 十六进制颜色代码 | 外观 |
|---|---|---|---|---|
"red" | "r" | [1 0 0] | "#FF0000" |
|
"green" | "g" | [0 1 0] | "#00FF00" |
|
"blue" | "b" | [0 0 1] | "#0000FF" |
|
"cyan" | "c" | [0 1 1] | "#00FFFF" |
|
"magenta" | "m" | [1 0 1] | "#FF00FF" |
|
"yellow" | "y" | [1 1 0] | "#FFFF00" |
|
"black" | "k" | [0 0 0] | "#000000" |
|
"white" | "w" | [1 1 1] | "#FFFFFF" |
|
"none" | 不适用 | 不适用 | 不适用 | 无颜色 |
以下是 MATLAB 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。
| RGB 三元组 | 十六进制颜色代码 | 外观 |
|---|---|---|
[0 0.4470 0.7410] | "#0072BD" |
|
[0.8500 0.3250 0.0980] | "#D95319" |
|
[0.9290 0.6940 0.1250] | "#EDB120" |
|
[0.4940 0.1840 0.5560] | "#7E2F8E" |
|
[0.4660 0.6740 0.1880] | "#77AC30" |
|
[0.3010 0.7450 0.9330] | "#4DBEEE" |
|
[0.6350 0.0780 0.1840] | "#A2142F" |
|
示例: [0.3 0.2 0.1]
示例: "green"
示例: "#D2F9A7"
字体
字体名称,指定为支持的字体名称或 "FixedWidth"。要正确显示和打印文本,您必须选择系统支持的字体。默认字体取决于您的操作系统和区域设置。
要使用在任何区域设置中都有较好显示效果的等宽字体,请使用 "FixedWidth"。等宽字体依赖于根 FixedWidthFontName 属性。设置根 FixedWidthFontName 属性会导致立即更新显示方式以使用新字体。
字体大小,指定为数值标量。字体大小会影响标题、轴标签和刻度标签。它还会影响与轴相关联的任何图例。字体大小以磅为单位进行测量。
示例: s.FontSize = 12
标签
堆叠图的标题,指定为字符向量、字符串标量、数值标量、字符串数组、数值数组、元胞数组或分类数组。
如果 Title 的值是数组,则该数组的元素将垂直堆叠并显示为标题。如果值是元胞数组,则其元素可以是字符向量、字符串或数字。
也可以使用 title 函数添加标题。
title("My Title")示例: s.Title = "A Title";
示例: s.Title = 137
示例: s.Title = ["Stacked plot",string(datetime("now"))];
示例: s.Title = {"Stacked plot",137};
堆叠的 y 轴上值的标签,指定为字符向量元胞数组或字符串数组。为 DisplayVariables 中的每个值指定一个标签。默认情况下,这些值与 DisplayVariables 中的值相同。
如果您在 DisplayVariables 中添加值、删除值或重新排列值,此属性将相应地更新,以维护值与标签的配对。
示例: s.DisplayLabels = ["Temperature","Humidity","Pressure"]
x 轴的标签,指定为字符向量、字符串标量、数值标量、字符串数组、数值数组、元胞数组或分类数组。
如果 XLabel 的值是数组,则该数组的元素将垂直堆叠并显示为 x 轴标签。如果值是元胞数组,则其元素可以是字符向量、字符串或数字。
也可以使用 xlabel 函数添加 x 轴标签。
xlabel("My x-Axis Label")示例: s.XLabel = "An x-axis Label";
示例: s.XLabel = 137
示例: s.XLabel = ["An x-axis Label",string(datetime("now"))];
示例: s.XLabel = {"An x-axis Label",137};
图例中的输入标签,指定为字符串数组或字符向量元胞数组。每个标签对应一个输入表或时间表。默认情况下,图例中的标签是输入表或时间表的名称。
示例: s.LegendLabels = ["Table1","Table2","Table3"]
图例中标签的方向,指定为 "horizontal" 或 "vertical"。"horizontal" 方向在图例中以水平方向列出标签,"vertical" 方向在图例中以垂直方向列出标签。
图例可见性,指定为 "on" 或 "off",或者指定为数值或逻辑值 1 (true) 或 0 (false)。如果 LegendVisible 为 "off",则不显示图例。
默认值为:
"off"(如果输入是单个表或时间表)"on"(如果输入是多个表或时间表)
值 "on" 等效于 true,"off" 等效于 false。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState 类型的 on/off 逻辑值。
位置
绘图在父容器(通常为图窗、面板或选项卡)中的外部大小和位置,指定为 [left bottom width height] 形式的四元素向量。
left和bottom元素定义容器左下角到绘图左下角的距离。width和height元素是包含绘图和坐标区的矩形的宽度和高度,包括标题和轴标签等装饰元素。
默认值 [0 0 1 1] 涵盖容器的整个内部。单位相对于容器的大小进行归一化。要更改单位,请设置 Units 属性。
注意
当父容器为 TiledChartLayout 对象时,设置此属性不起作用。
绘图在父容器(通常为图窗、面板或选项卡)中的内部大小和位置,指定为 [left bottom width height] 形式的四元素向量。
left和bottom元素定义容器左下角到绘图左下角的距离。width和height是包含绘图和坐标区的矩形的宽度和高度,不包括标题和轴标签等装饰元素。
注意
当父容器为 TiledChartLayout 对象时,设置此属性不起作用。
绘图在父容器(通常为图窗、面板或选项卡)中的内部大小和位置,以 [left bottom width height] 形式的四元素向量返回。此属性等同于 InnerPosition 属性。
注意
当父容器为 TiledChartLayout 对象时,设置此属性不起作用。
在增加、删除或更改装饰元素时保持不变的位置属性,指定为下列值之一:
"outerposition"- 在添加、删除或更改装饰元素(例如标题或轴标签)时,OuterPosition属性保持不变。如需任何位置调整,MATLAB 会调整InnerPosition属性。"innerposition"- 在添加、删除或更改装饰元素(例如标题或轴标签)时,InnerPosition属性保持不变。如需任何位置调整,MATLAB 会调整OuterPosition属性。
注意
当父容器为 TiledChartLayout 对象时,设置此属性不起作用。
位置单位,指定为下列值之一:
Units | 描述 |
|---|---|
"normalized"(默认值) | 根据容器进行归一化,容器通常是图窗或面板。容器的左下角映射到 (0,0),右上角映射到 (1,1)。 |
"inches" | 英寸。 |
"centimeters" | 厘米。 |
"characters" | 基于图形根对象的默认 uicontrol 字体:
|
"points" | 字体磅数。一磅等于 1/72 英寸。 |
"pixels" | 像素。 在 Windows® 和 Macintosh 系统上,像素的大小为 1/96 英寸。此大小与系统分辨率无关。 在 Linux® 系统上,一个像素的大小由系统分辨率确定。 |
在对象创建过程中将单位指定为 Name,Value 对组时,您必须先设置 Units 属性,然后再指定要使用这些单位的属性(如 Position)。
布局选项,指定为 TiledChartLayoutOptions 或 GridLayoutOptions 对象。当图采用分块图布局或网格布局时,此属性非常有用。
要在分块图布局的网格中定位图,请设置 TiledChartLayoutOptions 对象的 Tile 和 TileSpan 属性。例如,假设有一个 3×3 分块图布局。布局的中心有一个包含若干图块的网格,外边缘四周各有一个图块。实际上,该网格不可见,外侧图块也不占用空间,除非您用坐标区或图填充它们。

以下代码将图 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"- 显示对象。"off"- 隐藏对象而不删除它。您仍然可以访问不可见对象的属性。
父级/子级
父容器,指定为 Figure、Panel、Tab、TiledChartLayout 或 GridLayout 对象。
父级的 Children 属性中对象句柄的可见性,指定为下列值之一:
"on"- 对象句柄始终可见。"off"- 对象句柄始终不可见。该选项用于防止另一函数无意中对其进行更改。将HandleVisibility设置为"off"可在执行该函数时暂时隐藏句柄。"callback"- 对象句柄在回调或回调所调用的函数中可见,但在从命令行调用的函数中不可见。此选项阻止通过命令行访问对象,但允许回调函数访问对象。
如果父级的 Children 属性中未列出该对象,则通过搜索对象层次结构或查询句柄属性获取对象句柄的函数无法返回该对象。此类函数的示例包括 get、findobj、gca、gcf、gco、newplot、cla、clf 和 close 函数。
隐藏的对象句柄仍有效。将根 ShowHiddenHandles 属性设置为 "on" 以列出所有对象句柄,而不管其 HandleVisibility 属性设置如何。
版本历史记录
在 R2018b 中推出从 R2020a 开始,不推荐设置或获取 ActivePositionProperty。请改用 PositionConstraint 属性。
当前没有删除 ActivePositionProperty 的计划,但当您对图对象调用 set、get 或 properties 函数时,该属性不再列出。
要更新代码,请进行以下更改:
将
ActivePositionProperty的所有实例替换为PositionConstraint。将所有对
"position"选项的引用替换为"innerposition"选项。
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.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 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)





























![Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue](colororder1.png)
![Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange](colororder2.png)
![Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow](colororder3.png)
![Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple](colororder4.png)
![Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green](colororder5.png)
![Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue](colororder6.png)
![Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red](colororder7.png)