这个例子显示了如何将自定义属性添加到表和时间表,设定和访问它们的值,并删除它们。
所有表和时间表都具有包含关于它们或它们的变量的元数据的属性。属性可以访问这些属性T.
。特性
对象,其中,T.
为表或时间表的名称。例如,T.
.Properties.VariableNames
返回包含的变量的名称的单元阵列T.
.
您通过访问属性T.
。特性
是的定义的一部分表格
和时间表
数据类型。您不能添加或删除这些预定义的属性。但在R2018b开始,你可以添加和删除自己风俗属性,通过修改T.
.Properties.CustomProperties
表或时间表的对象。
阅读断电数据到一个表。使用包含日期和时间的第一个变量排序,OutageTime
.然后显示前三行。
T = readtable ('outages.csv');T =调用sortRows(T,'OutageTime');头(T,3)
ans =3×6表地区OutageTime RestorationTime造成损失客户 _____________ ________________ ______ __________ ________________ ________________ {' 西南的}2002-02-01 12:18 458.98 - 1.8202 e + 06 2002-02-01 16:50{“暴风雪”}{“中西部”}2002-03-05 17:53 96.563 - 2.8666 e + 05 2002-03-05 41{‘风’}{“中西部”}2002-03-16 06:18 186.44 - 2.1275 e + 052002-03-18 23:23{'严重风暴'}
显示其属性。这些是所有表具有共同的属性。请注意,还有一个CustomProperties来
对象,但默认情况下它没有属性。
T.Properties
ans = TableProperties with properties: Description: " UserData: [] DimensionNames: {'Row' 'Variables'} VariableNames: {1x6 cell} VariableDescriptions: {} VariableUnits: {} variableccontinuity: [] RowNames: {} CustomProperties:没有自定义属性设置。使用addprop和rmprop修改CustomProperties。
要添加自定义属性,请使用addprop
函数。指定属性的名称。对于每个属性,还要指定它是否具有整个表的元数据(类似于描述
属性)或为其变量(类似于VariableNames
财产)。如果属性变量的元数据,然后将其值必须是其长度等于变量的数目的向量。
添加自定义属性,这些属性包含输出文件名、文件类型和要绘制的变量的指示器。最佳实践是将输入表赋值为的输出参数addprop
,使自定义属性是相同的表的一部分。指定输出文件名和文件类型使用的元数据表“表”
选项。指定该地块指标均采用可变元'多变的'
选项。
T = addprop(T,{'OutputFileName'那“OutputFileType”那“如何”},......{“表”那“表”那'多变的'});T.Properties
ANS = TableProperties与属性:描述: '' 的UserData:[] DimensionNames:{ '行' '变量'} VariableNames:{1X6细胞} VariableDescriptions:{} VariableUnits:{} VariableContinuity:[] RowNames:{}自定义属性(访问使用t.Properties.CustomProperties <名称>):OutputFileName:[] OutputFileType:[] ToPlot:[]
当您使用添加自定义属性addprop
,它们的值是空数组默认。您可以设置和访问使用点语法自定义属性的值。
设置输出文件名和类型。这些属性包含表的元数据。然后分配一个逻辑数组给如何
财产。此属性包含变量的元数据。的值的元素在本例中如何
属性是真正的
为每个变量将被包括在一个情节,并错误的
对于每个要排除的变量。
T.Properties.CustomProperties.OutputFileName =“outageResults”;T.Properties.CustomProperties.OutputFileType =“.mat”;T.Properties.CustomProperties.ToPlot = [false false true true false];T.Properties
ans = TableProperties属性:描述:“用户数据:[]DimensionNames:{“行”“变量”}VariableNames: {1} x6细胞VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowNames:{}自定义属性(访问使用t.Properties.CustomProperties。<名称>):OutputFileName:“outageResults”OutputFileType:”。[0 0 1 1 1 0]
情节变量T.
在堆叠情节使用stackedplot
函数。要绘制仅损失
那客户
,RestorationTime
值,可以使用如何
自定义属性作为第二个输入参数。
stackedplot(T,T.Properties.CustomProperties.ToPlot);
当您移动或删除表变量,无论是预定义和自定义属性重新排序,以便它们的值对应于相同的变量。在这个例子中,的值如何
自定义属性住宿标志着绘制变量排列,就像的值VariableNames
预定义的属性保持对齐。
去除那个客户
可变的,并且显示的属性。
T.Customers = [];T.Properties
ans = TableProperties属性:描述:“用户数据:[]DimensionNames:{“行”“变量”}VariableNames: {1} x5细胞VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowNames:{}自定义属性(访问使用t.Properties.CustomProperties。<名称>):OutputFileName:“outageResults”OutputFileType:”。[0 0 1 1 0]
将表转换为时间表,使用中断时间作为行时间。移动地区
表中的端部,和RestorationTime
第一可变前使用movevars
函数。需要注意的是性能适当重新排序。这RestorationTime
和损失
变量仍然有包含在情节的指标。
T = table2timetable (T);T = movevars(T,'地区'那'后'那'原因');T = movevars(T,“RestorationTime”那'前',1);T.Properties
ans = TimetableProperties with properties: Description: " UserData: [] DimensionNames: {'OutageTime' 'Variables'} VariableNames: {'RestorationTime' 'Loss' 'Cause' 'Region'} VariableDescriptions: {} VariableUnits: {} variablecontinuity: [] RowTimes: [1468x1 datetime] StartTime: 2002-02-01 12:18 SampleRate: NaN TimeStep:NaN自定义属性(使用t.Properties.CustomProperties.): OutputFileName: 'outageResults' OutputFileType: '。[1 1 0 0]
属性可以删除表的任何或所有自定义属性rmprop
函数。但是,你不能用它来除去从预定义属性T.Properties
的,因为这些特性是的定义的一部分表格
数据类型。
去除那个OutputFileName
和OutputFileType
自定义属性。显示其余的表属性。
T = rmprop(T,{'OutputFileName'那“OutputFileType”});T.Properties
ans = TimetableProperties with properties: Description: " UserData: [] DimensionNames: {'OutageTime' 'Variables'} VariableNames: {'RestorationTime' 'Loss' 'Cause' 'Region'} VariableDescriptions: {} VariableUnits: {} variablecontinuity: [] RowTimes: [1468x1 datetime] StartTime: 2002-02-01 12:18 SampleRate: NaN TimeStep:NaN Custom Properties (access using t.Properties.CustomProperties.): ToPlot: [1 1 0 0]
addprop
|头
|movevars
|readtable
|rmprop
|sortrows
|stackedplot
|表格
|table2timetable