stackedplot
具有公共 x 轴的几个变量的堆叠图

语法
说明
表和时间表数据
stackedplot( 在堆叠图中绘制表或时间表的变量,最多 25 个变量。该函数在垂直堆叠的单独 y 轴中绘制变量。这些变量共享一个公共 x 轴。tbl)
如果
tbl是表,则stackedplot绘制变量对行号的图。如果
tbl是时间表,则stackedplot绘制变量对行时间的图。如果
tbl是有附加事件表的时间表,则stackedplot还将事件绘制为垂直线或着色区域。 (自 R2023b 起)
stackedplot 函数绘制 tbl 的所有数值、逻辑、分类、日期时间和持续时间变量,并忽略具有任何其他数据类型的表变量。
向量和矩阵数据
stackedplot( 绘制 Y)Y 的列对其行号的图。x 轴的刻度范围是从 1 到 Y 的行数。
其他选项
stackedplot(___, 设置线型、标记符号和颜色。您可以将此语法与前面任何语法中的输入参量结合使用。LineSpec)
stackedplot(___,XVariable= 指定为堆叠图提供 x 值的表变量。xvar)
仅当输入是表时,才支持此语法。
stackedplot(___,CombineMatchingNames=false) 在不同 y 轴上绘制来自不同输入但名称相同的变量。当您未指定 CombineMatchingNames 名称-值参量时,默认行为是在同一 y 轴上绘制这些变量。
仅当输入是多个表或多个时间表时,才支持此语法。
stackedplot(___, 使用一个或多个名称-值参量设置堆叠图的属性。有关属性列表,请参阅 StackedLineChart 属性。名称-值参量设置应用于堆叠图中的所有绘图。Name=Value)
stackedplot( 在 parent,___)parent 指定的图窗、面板或选项卡中创建堆叠图。选项 parent 可以位于上述语法中的任何输入参量组合之前。
返回 StackedLineChart 属性 对象。您可以在创建堆叠图后使用 s = stackedplot(___)s 设置其属性。输出 s 也是一个独立可视化图,它独立于其他图。
示例
将电子表格中的数据读取到一个时间表中。(将它包含的任何文本数据读入字符串数组中。)包含日期和时间的第一个变量 OutageTime 提供时间表的行时间。显示前五行。
tbl = readtimetable("outages.csv",TextType="string"); head(tbl,5)
OutageTime Region Loss Customers RestorationTime Cause
________________ ___________ ______ __________ ________________ _________________
2002-02-01 12:18 "SouthWest" 458.98 1.8202e+06 2002-02-07 16:50 "winter storm"
2003-01-23 00:49 "SouthEast" 530.14 2.1204e+05 NaT "winter storm"
2003-02-07 21:15 "SouthEast" 289.4 1.4294e+05 2003-02-17 08:14 "winter storm"
2004-04-06 05:44 "West" 434.81 3.4037e+05 2004-04-06 06:10 "equipment fault"
2002-03-16 06:18 "MidWest" 186.44 2.1275e+05 2002-03-18 23:23 "severe storm"
对时间表进行排序,使其行时间按顺序排列。时间表的行时间不需要按顺序排列。但是,如果将行时间用作绘图的 x 轴,则最好确保时间表按行时间排序。
tbl = sortrows(tbl); head(tbl,5)
OutageTime Region Loss Customers RestorationTime Cause
________________ ___________ ______ __________ ________________ ______________
2002-02-01 12:18 "SouthWest" 458.98 1.8202e+06 2002-02-07 16:50 "winter storm"
2002-03-05 17:53 "MidWest" 96.563 2.8666e+05 2002-03-10 14:41 "wind"
2002-03-16 06:18 "MidWest" 186.44 2.1275e+05 2002-03-18 23:23 "severe storm"
2002-03-26 01:59 "MidWest" 388.04 5.6422e+05 2002-03-28 19:55 "winter storm"
2002-04-20 16:46 "MidWest" 23141 NaN NaT "unknown"
基于 tbl 创建数据的一个堆叠图。行时间 OutageTime 提供沿 x 轴的值。stackedplot 函数绘制来自 Loss、Customers 和 RestorationTime 变量的值,其中每个变量沿它自己的 y 轴绘制。但是,该绘图不包含 Region 和 Cause 变量,因为它们包含不能绘制的数据。
stackedplot(tbl)

自 R2023b 开始提供
基于附加到时间表的事件表绘制事件。结果是时间表变量的堆叠图,其中事件绘制为垂直线或着色区域。有关事件表的详细信息,请参阅 eventtable。
首先,从示例 MAT 文件导入时间表和事件表。显示时间表,它列出了 2022 年 11 月连续两周的天气情况。
load weatherEvents.mat
weatherDataweatherData=15×2 timetable
Time Temperature Humidity
___________ ___________ ________
01-Nov-2022 36 45
02-Nov-2022 31 76
03-Nov-2022 37 43
04-Nov-2022 36 46
05-Nov-2022 38 72
06-Nov-2022 32 54
07-Nov-2022 35 50
08-Nov-2022 34 45
09-Nov-2022 32 72
10-Nov-2022 30 58
11-Nov-2022 39 54
12-Nov-2022 34 58
13-Nov-2022 31 73
14-Nov-2022 40 78
15-Nov-2022 34 66
接下来,显示事件表。它列出了 2022 年 11 月发生的暴风雪及其持续时间。
weatherEvents
weatherEvents = 4×3 eventtable
Event Labels Variable: EventType
Event Lengths Variable: EventLength
Time EventType EventLength Precipitation (mm)
___________ _________ ___________ __________________
03-Nov-2022 Hail 1.2 hr 12.7
05-Nov-2022 Rain 36 hr 114.3
10-Nov-2022 Snow 18 hr 25.4
14-Nov-2022 Rain 20 hr 177.8
然后,将事件表附加到时间表。事件表成为时间表的一个属性。当您显示时间表时,您还可以看到事件标签。
weatherData.Properties.Events = weatherEvents
weatherData=15×2 timetable with 4 events
Time Temperature Humidity
___________ ___________ ________
01-Nov-2022 36 45
02-Nov-2022 31 76
Hail 03-Nov-2022 37 43
04-Nov-2022 36 46
Rain 05-Nov-2022 38 72
Rain 06-Nov-2022 32 54
07-Nov-2022 35 50
08-Nov-2022 34 45
09-Nov-2022 32 72
Snow 10-Nov-2022 30 58
11-Nov-2022 39 54
12-Nov-2022 34 58
13-Nov-2022 31 73
Rain 14-Nov-2022 40 78
15-Nov-2022 34 66
创建一个堆叠图。着色区域表示所附事件表中列出的暴风雪发生的时间。
stackedplot(weatherData)

要隐藏事件,请使用 EventsVisible 名称-值参量。
stackedplot(weatherData,EventsVisible="off")
从示例 MAT 文件 indoors 和 outdoors 中加载两个时间表。然后显示每个时间表的前三行。
load indoors.mat load outdoors.mat head(indoors,3)
Time Humidity AirQuality
___________________ ________ __________
2015-11-15 00:00:24 36 80
2015-11-15 01:13:35 36 80
2015-11-15 02:26:47 37 79
head(outdoors,3)
Time Humidity TemperatureF PressureHg
___________________ ________ ____________ __________
2015-11-15 00:00:24 49 51.3 29.61
2015-11-15 01:30:24 48.9 51.5 29.61
2015-11-15 03:00:24 48.9 51.5 29.61
创建 indoors 和 outdoors 中数据的堆叠图。从多个表或时间表创建一个堆叠图时:
图例显示与每个表或时间表相关联的颜色。
名称相同但来自不同表或时间表的变量绘制在同一 y 轴上。例如,以下对
stackedplot的调用在同一 y 轴上绘制来自indoors和outdoors的Humidity变量。
stackedplot(indoors,outdoors)

从示例 MAT 文件 indoors 和 outdoors 中加载两个时间表。两个时间表都有一个名为 Humidity 的变量。基于这两个 Humidity 变量生成一个堆叠图。图例中的颜色显示变量与时间表之间的对应关系。
load indoors.mat load outdoors.mat head(indoors,5)
Time Humidity AirQuality
___________________ ________ __________
2015-11-15 00:00:24 36 80
2015-11-15 01:13:35 36 80
2015-11-15 02:26:47 37 79
2015-11-15 03:39:59 37 82
2015-11-15 04:53:11 36 80
head(outdoors,5)
Time Humidity TemperatureF PressureHg
___________________ ________ ____________ __________
2015-11-15 00:00:24 49 51.3 29.61
2015-11-15 01:30:24 48.9 51.5 29.61
2015-11-15 03:00:24 48.9 51.5 29.61
2015-11-15 04:30:24 48.8 51.5 29.61
2015-11-15 06:00:24 48.7 51.5 29.6
stackedplot(indoors,outdoors,"Humidity")
语法 stackedplot(indoors,outdoors,"Humidity") 等效于语法 stackedplot(indoors,outdoors,"Humidity",CombineMatchingNames=true)。默认情况下,名称相同但来自不同输入的变量绘制在同一 y 轴上。
要在不同 y 轴上绘制两个 Humidity 变量,请将 CombineMatchingNames 名称-值参量指定为 false。
stackedplot(indoors,outdoors,"Humidity",CombineMatchingNames=false)
从停电数据创建一个表。显示前五行。
tbl = readtable("outages.csv",TextType="string"); tbl = sortrows(tbl); head(tbl,5)
Region OutageTime Loss Customers RestorationTime Cause
_________ ________________ ______ __________ ________________ ______________
"MidWest" 2002-03-05 17:53 96.563 2.8666e+05 2002-03-10 14:41 "wind"
"MidWest" 2002-03-16 06:18 186.44 2.1275e+05 2002-03-18 23:23 "severe storm"
"MidWest" 2002-03-26 01:59 388.04 5.6422e+05 2002-03-28 19:55 "winter storm"
"MidWest" 2002-04-20 16:46 23141 NaN NaT "unknown"
"MidWest" 2002-05-18 11:04 1389.1 1.3447e+05 2002-05-21 01:22 "unknown"
仅绘制表中的两个变量。
stackedplot(tbl,["Loss" "Customers"])

从文件中读取一个时间表,并显示其前三行。
tbl = readtimetable("outages.csv",TextType="string"); tbl = sortrows(tbl); head(tbl,3)
OutageTime Region Loss Customers RestorationTime Cause
________________ ___________ ______ __________ ________________ ______________
2002-02-01 12:18 "SouthWest" 458.98 1.8202e+06 2002-02-07 16:50 "winter storm"
2002-03-05 17:53 "MidWest" 96.563 2.8666e+05 2002-03-10 14:41 "wind"
2002-03-16 06:18 "MidWest" 186.44 2.1275e+05 2002-03-18 23:23 "severe storm"
通过以与表中的顺序不同的顺序指定变量,对变量重新排序。例如,RestorationTime 是时间表中可以绘制的最后一个变量。默认情况下,stackedplot 将其放置在绘图的底部。但是,您可以对变量重新排序以将 RestorationTime 放在顶部。
stackedplot(tbl,["RestorationTime" "Loss" "Customers"])

还有其他方法可以对变量进行重新排序。
按在表中的数字顺序指定它们:
stackedplot(tbl,[4 2 3]);
返回一个
StackedLineChart对象,并对其DisplayVariables属性中的值重新排序:
s = stackedplot(tbl); s.DisplayVariables = ["RestorationTime" "Loss" "Customers"]
创建一个数值矩阵和一个数值向量。
X = [0:4:20]
X = 1×6
0 4 8 12 16 20
Y = randi(100,6,3)
Y = 6×3
82 28 96
91 55 49
13 96 81
92 97 15
64 16 43
10 98 92
使用 X 和 Y 创建一个堆叠图。
stackedplot(X,Y)

加载具有一组天气测量值的时间表。显示其前三行。
load outdoors
outdoors(1:3,:)ans=3×3 timetable
Time Humidity TemperatureF PressureHg
___________________ ________ ____________ __________
2015-11-15 00:00:24 49 51.3 29.61
2015-11-15 01:30:24 48.9 51.5 29.61
2015-11-15 03:00:24 48.9 51.5 29.61
创建一个堆叠图。使用名称-值参量指定 y 轴的标题和标签。您可以使用名称-值参量来更改任何属性的默认值。(另请注意,您可以使用 char(176) 指定度符号。)
degreeSymbol = char(176); newYlabels = ["RH (%)","T (" + degreeSymbol + "F)","P (in Hg)"]; stackedplot(outdoors,Title="Weather Data",DisplayLabels=newYlabels)

从示例 MAT 文件 indoors 和 outdoors 中加载两个时间表。
load indoors.mat load outdoors.mat head(indoors,3)
Time Humidity AirQuality
___________________ ________ __________
2015-11-15 00:00:24 36 80
2015-11-15 01:13:35 36 80
2015-11-15 02:26:47 37 79
head(outdoors,3)
Time Humidity TemperatureF PressureHg
___________________ ________ ____________ __________
2015-11-15 00:00:24 49 51.3 29.61
2015-11-15 01:30:24 48.9 51.5 29.61
2015-11-15 03:00:24 48.9 51.5 29.61
基于多个表或时间表创建一个堆叠图时,该堆叠图会包含图例。默认情况下,图例使用输入的名称作为标签。但是,您可以在图例中指定标签和标签方向。
stackedplot(indoors,outdoors, ... LegendLabels=["Inside Readings" "Outside Readings"], ... LegendOrientation="vertical")

您还可以隐藏图例。
stackedplot(indoors,outdoors,LegendVisible="off")
stackedplot 函数返回 StackedLineChart 对象。您可以使用它为所有绘图设置相同的信号线和坐标轴属性,或为单个绘图设置不同属性值。在此示例中,首先更改堆叠图中所有绘图的线宽。然后,使用单个绘图的 PlotType 属性,以便堆叠图具有线图、散点图和阶梯图。
加载具有一组天气测量值的时间表。
load outdoors
outdoors(1:3,:)ans=3×3 timetable
Time Humidity TemperatureF PressureHg
___________________ ________ ____________ __________
2015-11-15 00:00:24 49 51.3 29.61
2015-11-15 01:30:24 48.9 51.5 29.61
2015-11-15 03:00:24 48.9 51.5 29.61
创建一个堆叠图并返回 StackedLineChart 对象。
s = stackedplot(outdoors)

s =
StackedLineChart with properties:
SourceTable: [51×3 timetable]
DisplayVariables: {'Humidity' 'TemperatureF' 'PressureHg'}
Color: [0.0660 0.4430 0.7450]
LineStyle: '-'
LineWidth: 0.5000
Marker: 'none'
MarkerSize: 6
EventsVisible: on
Show all properties
该对象提供对应用于所有绘图的许多属性的访问权限。例如,您可以使用 s.LineWidth 使线条更宽。
s.LineWidth = 2;

该对象还提供对某些对象数组的访问权限,这些对象数组可用于修改单个绘图的线条和 y 轴。要访问单个线条的属性,请使用 s.LineProperties。对于每个绘图,您可以指定不同线型、标记、绘图类型等。
s.LineProperties
ans=3×1 StackedLineProperties array with properties:
Color
MarkerFaceColor
MarkerEdgeColor
LineStyle
LineWidth
Marker
MarkerSize
PlotType
使用 PlotType 属性将第二个绘图更改为散点图,将第三个绘图更改为阶梯图。
s.LineProperties(2).PlotType = "scatter"; s.LineProperties(3).PlotType = "stairs";

您还可以通过 s.AxesProperties 属性访问单个 y 轴。
s.AxesProperties
ans=3×1 StackedAxesProperties array with properties:
YLimits
YScale
LegendLabels
LegendLocation
LegendVisible
CollapseLegend
例如,更改第一个图的 y 范围。
s.AxesProperties(1).YLimits = [46 54];

使用 Weight、Systolic 和 Diastolic 变量基于患者数据的子集创建一个表。
load patients
tbl = table(Weight,Systolic,Diastolic);
head(tbl,3) Weight Systolic Diastolic
______ ________ _________
176 124 93
163 109 77
131 125 83
创建一个堆叠图,使用相同的 y 轴绘制 Systolic 和 Diastolic,使用它自己的 y 轴绘制 Weight。首先,将 vars 指定为一个包含两个元素的元胞数组。第一个元素将 "Systolic" 和 "Diastolic" 一起组合在一个字符串数组中。它们一起绘制在同一个 y 轴上。元胞数组的第二个元素是 "Weight"。它绘制在它自己的 y 轴上。此外,返回一个具有堆叠图属性的 StackedLineChart 对象。
vars = {["Systolic" "Diastolic"],"Weight"}vars=1×2 cell array
{["Systolic" "Diastolic"]} {["Weight"]}
s = stackedplot(tbl,vars)

s =
StackedLineChart with properties:
SourceTable: [100×3 table]
DisplayVariables: {{1×2 cell} 'Weight'}
XVariable: []
Color: [0.0660 0.4430 0.7450]
LineStyle: '-'
LineWidth: 0.5000
Marker: 'none'
MarkerSize: 6
Show all properties
当您在一个 y 轴中绘制多个变量时,您可以通过分配指定样式的数组,为该 y 轴中的线条分配不同样式。
例如,要为第一个 y 轴中的两个线条指定相同的颜色,请将数组分配给 s.LineProperties(1).Color。要为这两个线条指定不同线型,请将一个指定两种不同线型的字符串数组分配给 s.LineProperties(1).LineStyle。
s.LineProperties(1).Color = "magenta"; s.LineProperties(1).LineStyle = ["--",":"];

从示例 MAT 文件 indoors 和 outdoors 中加载两个时间表。
load indoors.mat load outdoors.mat
创建一个堆叠图。
s = stackedplot(indoors,outdoors);

更改用于指示变量与时间表之间对应关系的色序。如果您有几个时间表,按名称来选择颜色会比较合适。
colororder(s,["magenta" "green"])

如果基于大量输入表或时间表绘制变量,使用颜色图设置色序可能更合适。指定颜色图有 n 种颜色,其中 n 是您在创建堆叠图时指定的表或时间表的数量。
例如,使用 parula 函数设置色序以返回 parula 颜色图。指定颜色数量等于时间表的数量。如果不知道堆叠图中显示多少个表或时间表,请使用 stackedplot 返回的 StackedLineChart 对象的 SourceTable 属性。
numTimetables = numel(s.SourceTable); colororder(s,parula(numTimetables))

将数据导入一个时间表中。然后生成一个堆叠图。默认情况下,所有图的 x 和 y 轴上都为线性刻度。
tbl = readtimetable("outages.csv");
tbl = sortrows(tbl);
s = stackedplot(tbl)
s =
StackedLineChart with properties:
SourceTable: [1468×5 timetable]
DisplayVariables: {'Loss' 'Customers' 'RestorationTime'}
Color: [0.0660 0.4430 0.7450]
LineStyle: '-'
LineWidth: 0.5000
Marker: 'none'
MarkerSize: 6
EventsVisible: on
Show all properties
您可以通过 s.AxesProperties 属性访问单个 y 轴的属性,例如其刻度。
s.AxesProperties
ans=3×1 StackedAxesProperties array with properties:
YLimits
YScale
LegendLabels
LegendLocation
LegendVisible
CollapseLegend
要将第一个和第二个图转换为对数刻度位于 y 轴上的半对数图,请将其 YScale 属性设置为 "log"。
s.AxesProperties(1).YScale = "log"; s.AxesProperties(2).YScale = "log";

输入参数
输入表或时间表。stackedplot 函数绘制所有数值、逻辑、categorical、datetime 和 duration 变量,并忽略具有任何其他数据类型的表变量。如果 tbl 有 25 个以上的变量,stackedplot 只绘制前 25 个。
要指定多个输入表或时间表,请使用由表或时间表组成的以逗号分隔的列表或元胞数组。当指定多个输入时,不能在对 stackedplot 的一次调用中混合使用表和时间表。
输入表或时间表中的变量,使用下表中的索引方案之一指定。
注意:如果基于多个表或时间表创建一个堆叠图,则 vars 只能是字符串数组、字符向量元胞数组或其元素是字符串数组或字符向量元胞数组的元胞数组。
| 索引方案 | 示例 |
|---|---|
变量名称:
|
|
变量索引(仅适用于单个表或时间表):
|
|
变量类型(仅适用于单个表或时间表):
|
|
嵌套元胞数组中指定的变量:
|
|
示例: stackedplot(tbl,[1 3 4]) 指定第一个、第三个和第四个变量。
示例: stackedplot(tbl,{["Temp1" "Temp2"],"Pressure"}) 使用嵌套元胞数组来指定 Temp1 和 Temp2 绘制在同一 y 轴上。
示例: stackedplot(tbl,{{1 2},5}) 通过数字指定变量并在同一 y 轴上绘制第一个和第二个变量。
x 值,指定为数值、日期时间、持续时间或逻辑向量。X 的长度必须等于 Y 的行数。
y 值,指定为数值、日期时间、持续时间、分类或逻辑数组。stackedplot 函数在单独的 y 轴中绘制每列。
线型、标记和颜色,指定为包含符号的字符串标量或字符向量。符号可以按任意顺序显示。您不需要同时指定所有三个特征(线型、标记和颜色)。例如,如果忽略线型,只指定标记,则绘图只显示标记,不显示线条。
示例: "--or" 是带有圆形标记的红色虚线。
| 线型 | 描述 | 表示的线条 |
|---|---|---|
"-" | 实线 |
|
"--" | 虚线 |
|
":" | 点线 |
|
"-." | 点划线 |
|
| 标记 | 描述 | 生成的标记 |
|---|---|---|
"o" | 圆圈 |
|
"+" | 加号 |
|
"*" | 星号 |
|
"." | 点 |
|
"x" | 叉号 |
|
"_" | 水平线条 |
|
"|" | 垂直线条 |
|
"square" | 方形 |
|
"diamond" | 菱形 |
|
"^" | 上三角 |
|
"v" | 下三角 |
|
">" | 右三角 |
|
"<" | 左三角 |
|
"pentagram" | 五角形 |
|
"hexagram" | 六角形 |
|
| 颜色名称 | 短名称 | RGB 三元组 | 外观 |
|---|---|---|---|
"red" | "r" | [1 0 0] |
|
"green" | "g" | [0 1 0] |
|
"blue" | "b" | [0 0 1] |
|
"cyan" | "c" | [0 1 1] |
|
"magenta" | "m" | [1 0 1] |
|
"yellow" | "y" | [1 1 0] |
|
"black" | "k" | [0 0 0] |
|
"white" | "w" | [1 1 1] |
|
包含 x 值的表变量,指定为字符串数组、字符向量、字符向量元胞数组、整数数组或逻辑数组。
仅当输入参量 tbl 或 tbl1,...,tblN 是表而不是时间表、向量或矩阵时,才能指定 xvar。
如果输入是一个表,则
xvar指定该表中的一个变量。如果输入是多个表,则
xvar可以为所有表指定一个变量,也可以为每个表指定一个不同的变量。例如,如果输入是
tbl1,tbl2,tbl3,并且每个表都有一个名为X的变量提供 x 值,则xvar可以是"X"。但是,如果tbl1有名为X1的变量,tbl2有名为X2的变量,而tbl3有名为X3的变量,则将xvar指定为["X1" "X2" "X3"]。
父容器,指定为 Figure、Panel、Tab、TiledChartLayout 或 GridLayout 对象。
名称-值参数
将可选参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。
示例: stackedplot(tbl,Marker="o",MarkerSize=10)
此处列出的堆叠图线条属性仅是适用于所有堆叠图的一个公共子集,无论数据源是表还是数组。有关完整列表,请参阅 StackedLineChart 属性。
线条颜色,指定为 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 英寸。
详细信息
独立可视化是出于特殊目的设计的图,其工作方式独立于其他图。与 plot 和 surf 等其他图不同,独立可视化内置一个预配置的坐标区对象,并且某些自定义不可用。独立可视化还具有以下特性:
它无法与其他图形元素(如线条、补片或曲面)组合。因此,不支持
hold命令。gca函数可以将图对象返回为当前坐标区。您可以将图对象传递给许多 MATLAB® 函数,这些函数接受坐标区对象作为输入参量。例如,您可以将图对象传递给
title函数。
提示
要以交互方式浏览堆叠图中的数据,请使用下列功能。
缩放 - 使用滚轮进行缩放。
平移 - 点击并拖动堆叠图以跨 x 值平移。
数据游标 - 将鼠标悬停在某个位置上,以显示每个绘图的 y 值。
版本历史记录
在 R2018b 中推出stackedplot 函数可以将事件绘制为基于时间表创建的堆叠图上的线条或着色区域。要绘制与时间表相关联的事件,您必须在调用 stackedplot 之前附加事件表。有关事件表的详细信息,请参阅 eventtable。
为了支持事件,stackedplot 提供一个新的 EventsVisible 名称-值参量:
如果
EventsVisible为"on",则stackedplot将事件绘制为线条或着色区域。如果
EventsVisible为"off",则stackedplot隐藏事件。
现在,您可以绘制来自多个输入表或时间表中的变量。在以前的版本中,只能绘制来自单个表或时间表中的变量。
此外,R2022b 中增加了以下名称-值参量。R2022b 中还增加了对应的 StackedLineChart 属性。
CombineMatchingNamesLegendLabelsLegendVisibleLegendOrientation
您可以在堆叠图中多次显示同一个表或时间表变量。在以前的版本中,多次指定同一个变量会导致错误。
例如,从 outages.csv 文件创建一个时间表。然后在您指定的每个其他变量下绘制 RestorationTime 变量。
tbl = readtimetable("outages.csv"); tbl = sortrows(tbl); stackedplot(tbl,["Loss" "RestorationTime" "Customers" "RestorationTime"])
另请参阅
函数
属性
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)




























