主要内容

stackedplot

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

  • Stacked plot of several variables with common x-axis

说明

表和时间表数据

stackedplot(tbl) 在堆叠图中绘制表或时间表的变量,最多 25 个变量。该函数在垂直堆叠的单独 y 轴中绘制变量。这些变量共享一个公共 x 轴。

  • 如果 tbl 是表,则 stackedplot 绘制变量对行号的图。

  • 如果 tbl 是时间表,则 stackedplot 绘制变量对行时间的图。

  • 如果 tbl 是有附加事件表的时间表,则 stackedplot 还将事件绘制为垂直线或着色区域。 (自 R2023b 起)

stackedplot 函数绘制 tbl 的所有数值、逻辑、分类、日期时间和持续时间变量,并忽略具有任何其他数据类型的表变量。

示例

stackedplot(tbl1,...,tblN) 绘制多个表或时间表的变量。输入必须要么全部为表,要么全部为时间表。 (自 R2022b 起)

示例

stackedplot({tbl1,...,tblN}) 将输入指定为元胞数组,其元素要么全部为表,或者全部为时间表。此语法等效于上述语法。

stackedplot(___,vars) 仅绘制 vars 指定的表或时间表变量。

示例

向量和矩阵数据

stackedplot(X,Y) 绘制 Y 列对向量 X 的图,最多 25 列。

示例

stackedplot(Y) 绘制 Y 的列对其行号的图。x 轴的刻度范围是从 1 到 Y 的行数。

其他选项

stackedplot(___,LineSpec) 设置线型、标记符号和颜色。您可以将此语法与前面任何语法中的输入参量结合使用。

stackedplot(___,XVariable=xvar) 指定为堆叠图提供 x 值的表变量。

仅当输入是表时,才支持此语法。

stackedplot(___,CombineMatchingNames=false) 在不同 y 轴上绘制来自不同输入但名称相同的变量。当您未指定 CombineMatchingNames 名称-值参量时,默认行为是在同一 y 轴上绘制这些变量。

仅当输入是多个表或多个时间表时,才支持此语法。

示例

stackedplot(___,Name=Value) 使用一个或多个名称-值参量设置堆叠图的属性。有关属性列表,请参阅 StackedLineChart 属性。名称-值参量设置应用于堆叠图中的所有绘图。

示例

stackedplot(parent,___)parent 指定的图窗、面板或选项卡中创建堆叠图。选项 parent 可以位于上述语法中的任何输入参量组合之前。

s = stackedplot(___) 返回 StackedLineChart 属性 对象。您可以在创建堆叠图后使用 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 函数绘制来自 LossCustomersRestorationTime 变量的值,其中每个变量沿它自己的 y 轴绘制。但是,该绘图不包含 RegionCause 变量,因为它们包含不能绘制的数据。

stackedplot(tbl)

Figure contains an object of type stackedplot.

自 R2023b 开始提供

基于附加到时间表的事件表绘制事件。结果是时间表变量的堆叠图,其中事件绘制为垂直线或着色区域。有关事件表的详细信息,请参阅 eventtable

首先,从示例 MAT 文件导入时间表和事件表。显示时间表,它列出了 2022 年 11 月连续两周的天气情况。

load weatherEvents.mat
weatherData
weatherData=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)

Figure contains an object of type stackedplot.

要隐藏事件,请使用 EventsVisible 名称-值参量。

stackedplot(weatherData,EventsVisible="off")

Figure contains an object of type stackedplot.

从示例 MAT 文件 indoorsoutdoors 中加载两个时间表。然后显示每个时间表的前三行。

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   

创建 indoorsoutdoors 中数据的堆叠图。从多个表或时间表创建一个堆叠图时:

  • 图例显示与每个表或时间表相关联的颜色。

  • 名称相同但来自不同表或时间表的变量绘制在同一 y 轴上。例如,以下对 stackedplot 的调用在同一 y 轴上绘制来自 indoorsoutdoorsHumidity 变量。

stackedplot(indoors,outdoors)

Figure contains an object of type stackedplot.

从示例 MAT 文件 indoorsoutdoors 中加载两个时间表。两个时间表都有一个名为 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")

Figure contains an object of type stackedplot.

语法 stackedplot(indoors,outdoors,"Humidity") 等效于语法 stackedplot(indoors,outdoors,"Humidity",CombineMatchingNames=true)。默认情况下,名称相同但来自不同输入的变量绘制在同一 y 轴上。

要在不同 y 轴上绘制两个 Humidity 变量,请将 CombineMatchingNames 名称-值参量指定为 false

stackedplot(indoors,outdoors,"Humidity",CombineMatchingNames=false)

Figure contains an object of type stackedplot.

从停电数据创建一个表。显示前五行。

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"])

Figure contains an object of type stackedplot.

从文件中读取一个时间表,并显示其前三行。

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"])

Figure contains an object of type stackedplot.

还有其他方法可以对变量进行重新排序。

  • 按在表中的数字顺序指定它们:

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

使用 XY 创建一个堆叠图。

stackedplot(X,Y)

Figure contains an object of type stackedplot.

加载具有一组天气测量值的时间表。显示其前三行。

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)

Figure contains an object of type stackedplot. The chart of type stackedplot has title Weather Data.

从示例 MAT 文件 indoorsoutdoors 中加载两个时间表。

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")

Figure contains an object of type stackedplot.

您还可以隐藏图例。

stackedplot(indoors,outdoors,LegendVisible="off")

Figure contains an object of type stackedplot.

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)

Figure contains an object of type stackedplot.

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;

Figure contains an object of type stackedplot.

该对象还提供对某些对象数组的访问权限,这些对象数组可用于修改单个绘图的线条和 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";

Figure contains an object of type stackedplot.

您还可以通过 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];

Figure contains an object of type stackedplot.

使用 WeightSystolicDiastolic 变量基于患者数据的子集创建一个表。

load patients
tbl = table(Weight,Systolic,Diastolic);
head(tbl,3)
    Weight    Systolic    Diastolic
    ______    ________    _________

     176        124          93    
     163        109          77    
     131        125          83    

创建一个堆叠图,使用相同的 y 轴绘制 SystolicDiastolic,使用它自己的 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)

Figure contains an object of type stackedplot.

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 = ["--",":"];

Figure contains an object of type stackedplot.

从示例 MAT 文件 indoorsoutdoors 中加载两个时间表。

load indoors.mat
load outdoors.mat

创建一个堆叠图。

s = stackedplot(indoors,outdoors);

Figure contains an object of type stackedplot.

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

colororder(s,["magenta" "green"])

Figure contains an object of type stackedplot.

如果基于大量输入表或时间表绘制变量,使用颜色图设置色序可能更合适。指定颜色图有 n 种颜色,其中 n 是您在创建堆叠图时指定的表或时间表的数量。

例如,使用 parula 函数设置色序以返回 parula 颜色图。指定颜色数量等于时间表的数量。如果不知道堆叠图中显示多少个表或时间表,请使用 stackedplot 返回的 StackedLineChart 对象的 SourceTable 属性。

numTimetables = numel(s.SourceTable);
colororder(s,parula(numTimetables))

Figure contains an object of type stackedplot.

将数据导入一个时间表中。然后生成一个堆叠图。默认情况下,所有图的 xy 轴上都为线性刻度。

tbl = readtimetable("outages.csv");
tbl = sortrows(tbl);
s = stackedplot(tbl)

Figure contains an object of type stackedplot.

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";

Figure contains an object of type stackedplot.

输入参数

全部折叠

输入表或时间表。stackedplot 函数绘制所有数值、逻辑、categoricaldatetimeduration 变量,并忽略具有任何其他数据类型的表变量。如果 tbl 有 25 个以上的变量,stackedplot 只绘制前 25 个。

要指定多个输入表或时间表,请使用由表或时间表组成的以逗号分隔的列表或元胞数组。当指定多个输入时,不能在对 stackedplot 的一次调用中混合使用表和时间表。

输入表或时间表中的变量,使用下表中的索引方案之一指定。

注意:如果基于多个表或时间表创建一个堆叠图,则 vars 只能是字符串数组、字符向量元胞数组或其元素是字符串数组或字符向量元胞数组的元胞数组。

索引方案示例

变量名称:

  • 字符串数组或字符向量元胞数组。

  • "A" - 名为 A 的变量

  • ["A" "B"]{'A' 'B'} - 名为 AB 的两个变量

变量索引(仅适用于单个表或时间表):

  • 引用变量在表中位置的索引编号。

  • 由数字组成的向量。

  • 逻辑向量。通常,此向量的长度与变量的数目相同,但可以省略尾部的 0false 值。

  • 3 - 表中的第三个变量

  • [2 3] - 表中的第二个和第三个变量

  • [false false true] - 第三个变量

变量类型(仅适用于单个表或时间表):

  • vartype 下标,用于选择指定类型的变量。

  • vartype("categorical") - 包含分类值的所有变量

嵌套元胞数组中指定的变量:

  • 包含数值数组的元胞数组(仅适用于单个表或时间表)。

  • 包含字符串数组的元胞数组。

  • 包含字符向量元胞数组的元胞数组。

  • {[1 2] 3} - 第一个和第二个变量绘制在一个 y 轴上,第三个变量绘制在另一个 y 轴上

  • {["A" "B"] "C"} - 变量 AB 绘制在一个 y 轴上,变量 C 绘制在另一个 y 轴上

  • {{'A' 'B'} 'C'} - 变量 AB 绘制在一个 y 轴上,变量 C 绘制在另一个 y 轴上

示例: stackedplot(tbl,[1 3 4]) 指定第一个、第三个和第四个变量。

示例: stackedplot(tbl,{["Temp1" "Temp2"],"Pressure"}) 使用嵌套元胞数组来指定 Temp1Temp2 绘制在同一 y 轴上。

示例: stackedplot(tbl,{{1 2},5}) 通过数字指定变量并在同一 y 轴上绘制第一个和第二个变量。

x 值,指定为数值、日期时间、持续时间或逻辑向量。X 的长度必须等于 Y 的行数。

y 值,指定为数值、日期时间、持续时间、分类或逻辑数组。stackedplot 函数在单独的 y 轴中绘制每列。

线型、标记和颜色,指定为包含符号的字符串标量或字符向量。符号可以按任意顺序显示。您不需要同时指定所有三个特征(线型、标记和颜色)。例如,如果忽略线型,只指定标记,则绘图只显示标记,不显示线条。

示例: "--or" 是带有圆形标记的红色虚线。

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

Sample of solid line

"--"虚线

Sample of dashed line

":"点线

Sample of dotted line

"-."点划线

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

标记描述生成的标记
"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

颜色名称短名称RGB 三元组外观
"red""r"[1 0 0]

Sample of the color red

"green""g"[0 1 0]

Sample of the color green

"blue""b"[0 0 1]

Sample of the color blue

"cyan" "c"[0 1 1]

Sample of the color cyan

"magenta""m"[1 0 1]

Sample of the color magenta

"yellow""y"[1 1 0]

Sample of the color yellow

"black""k"[0 0 0]

Sample of the color black

"white""w"[1 1 1]

Sample of the color white

包含 x 值的表变量,指定为字符串数组、字符向量、字符向量元胞数组、整数数组或逻辑数组。

仅当输入参量 tbltbl1,...,tblN 是表而不是时间表、向量或矩阵时,才能指定 xvar

  • 如果输入是一个表,则 xvar 指定该表中的一个变量。

  • 如果输入是多个表,则 xvar 可以为所有表指定一个变量,也可以为每个表指定一个不同的变量。

    例如,如果输入是 tbl1,tbl2,tbl3,并且每个表都有一个名为 X 的变量提供 x 值,则 xvar 可以是 "X"。但是,如果 tbl1 有名为 X1 的变量,tbl2 有名为 X2 的变量,而 tbl3 有名为 X3 的变量,则将 xvar 指定为 ["X1" "X2" "X3"]

父容器,指定为 FigurePanelTabTiledChartLayoutGridLayout 对象。

名称-值参数

全部折叠

将可选参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。

示例: stackedplot(tbl,Marker="o",MarkerSize=10)

此处列出的堆叠图线条属性仅是适用于所有堆叠图的一个公共子集,无论数据源是表还是数组。有关完整列表,请参阅 StackedLineChart 属性

线条颜色,指定为 RGB 三元组、十六进制颜色代码或第一个表中列出的颜色选项之一。

对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。

  • RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]

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

此外,还可以按名称指定一些常见的颜色。下表列出了一些命名颜色选项、其等效 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

"none"不适用不适用不适用无颜色

下表列出了浅色和深色主题中绘图的默认调色板。

调色板调色板颜色

"gem" - 浅色主题默认值

在 R2025a 之前的版本中: 大多数绘图默认使用这些颜色。

Sample of the "gem" color palette

"glow" - 深色主题默认值

Sample of the "glow" color palette

您可以使用 orderedcolorsrgb2hex 函数获取这些调色板的 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"

线型,指定为下表中列出的选项之一。

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

Sample of solid line

"--"虚线

Sample of dashed line

":"点线

Sample of dotted line

"-."点划线

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

"none"无线条无线条

线宽,指定为以磅为单位的正值,其中 1 磅 = 1/72 英寸。如果该线条具有标记,则线条宽度也会影响标记边。

线宽不能小于像素的宽度。如果将线宽设置为小于系统上像素宽度的值,则线条显示为一个像素的宽度。

标记符号,指定为下表中列出的值之一。默认情况下,对象不显示标记。指定标记符号可在每个数据点或顶点添加标记。

标记描述生成的标记
"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"无标记不适用

标记大小,指定为以磅为单位的正值,其中 1 磅 = 1/72 英寸。

输出参量

全部折叠

StackedLineChart 对象,它是一个独立可视化。创建堆叠图后,使用 s 设置其属性。

详细信息

全部折叠

提示

  • 要以交互方式浏览堆叠图中的数据,请使用下列功能。

    • 缩放 - 使用滚轮进行缩放。

    • 平移 - 点击并拖动堆叠图以跨 x 值平移。

    • 数据游标 - 将鼠标悬停在某个位置上,以显示每个绘图的 y 值。

版本历史记录

在 R2018b 中推出

全部展开