Main Content

本页采用了机器翻译。点击此处可查看最新英文版本。

MATLAB 表创建表

要从 MATLAB® 表创建 DOM API 表,请使用 mlreportgen.dom.MATLABTable 对象。MATLAB 表的 DOM 表示具有 DOM 正式表的结构体。请参阅创建正式表格MATLABTable 标题包含来自 MATLAB 表的列名。MATLABTable 主体包含来自 MATLAB 表的行和元素。

如果 MATLAB 中的表有行名,则 MATLABTable 对象的第一列包含行名。在 MATLAB 中,行名称列没有标签。在 MATLABTable 对象中,您可以通过改变标题第一个元素的内容来为行名列指定标签。您可以通过将 MATLABTable 对象的 RowNamesRule 属性设置为 true 来指定行名列标签下的一行。

有关可在报告中创建的其他类型表的信息,请参阅 选择要创建的表类型

从 MATLAB 表创建表

此示例从具有行名的 MATLAB 表创建 DOM 表。该示例生成两个包含 DOM 表的报告。在第一份报告中,表格的行名列没有标签。在第二份报告中,行名称列有一个标签。

创建一个 MATLAB 表,显示患者的年龄、体重和身高。使用 RowNames 选项通过患者的姓氏来识别每一行。

LastName = {'Sanchez';'Johnson';'Lee';'Diaz';'Brown'};
Age = [38;43;38;40;49];
Weight = [176;163;131;133;119];
Height = [71;69;64;67;64];
mltable = table(Age,Weight,Height,'RowNames',LastName)
mltable=5×3 table
               Age    Weight    Height
               ___    ______    ______

    Sanchez    38      176        71  
    Johnson    43      163        69  
    Lee        38      131        64  
    Diaz       40      133        67  
    Brown      49      119        64  

MATLAB 表有五行和三列。行名不是表的一部分。它们存储在表的属性中。

MATLAB 表创建一个 mlreportgen.dom.MATLABTable 对象。

import mlreportgen.dom.*
mltableObj = MATLABTable(mltable);

创建一个文档并将 MATLABTable 对象追加到该文档。关闭并查看文档。

d = Document('MyMATLABTable1','docx');
append(d,mltableObj);
close(d);
rptview(d);

以下是生成的报告中的表格:

DOM 表是一个正式的表,它有表头和表主体。表体共五行四列。第一列由 MATLAB 表行名称组成。

再次生成报告,这次为行名称列添加标签。要指定标签,请用标签文本替换表标题行第一个条目中的空文本。要在标签下方画一条线,请将 MATLABTable 对象的 RowNamesRule 属性设置为 true

LastName = {'Sanchez';'Johnson';'Lee';'Diaz';'Brown'};
Age = [38;43;38;40;49];
Weight = [176;163;131;133;119];
Height = [71;69;64;67;64];
mltable = table(Age,Weight,Height,'RowNames',LastName);
import mlreportgen.dom.*
mltableObj = MATLABTable(mltable);
th = mltableObj.Header;
thentry11 = entry(th,1,1);
thentry11.Children(1).Children(1).Content = 'Names';
mltableObj.RowNamesRule = true;
d = Document('MyMATLABTable2','docx');
append(d,mltableObj);
close(d);
rptview(d);

以下是生成的报告中的表格:

格式化从 MATLAB 表创建的表

默认情况下,从 MATLABTable 对象生成的表被格式化为看起来像 MATLAB 中的表。要自定义表格的外观,您可以使用与其他类型表格相同的方法:

  • 更新默认 HTML、Word 或 PDF 模板的样式表中的默认样式。MATLABTable 对象的默认 StyleName"rgMATLABTable"

  • StyleName 属性设置为自定义样式。

  • 对表格或表格的某一部分使用格式属性或格式对象。

请参阅格式化表格

格式化 MATLAB Table 的章节

此示例显示如何格式化从 MATLAB 表创建的 DOM 表的各个部分。

设置表头格式

此示例将列标题变为斜体。

要访问标题,请使用 mlreportgen.dom.MATLABTable 对象的 Header 属性。该示例将 mlreportgen.dom.Italic 格式对象添加到代表标题的 mlreportgen.dom.TableHeader 对象的 Style 属性。

import mlreportgen.dom.*
d = Document('myMATLABTable','pdf');

Age = [38;43;38;40;49];
Height = [71;69;64;67;64];
Weight = [176;163;131;133;119];
mltable = table(Age,Weight,Height);

mltableObj = MATLABTable(mltable);
mltableObj.Header.Style = [mltableObj.Header.Style {Italic(true)}];

append(d,mltableObj);
close(d);
rptview(d);

格式化表体

此示例将表体第一行的条目变为蓝色。

要访问表主体,请使用 mlreportgen.dom.MATLABTable 对象的 Body 属性。要访问正文的某一行,请使用代表该行的 mlreportgen.dom.TableRow 对象的 row 方法。该示例将 mlreportgen.dom.Color 格式的对象添加到代表第一行的 TableRow 对象的 Style 属性。

import mlreportgen.dom.*
d = Document('myMATLABTable','pdf');

Age = [38;43;38;40;49];
Height = [71;69;64;67;64];
Weight = [176;163;131;133;119];
mltable = table(Age,Weight,Height);

mltableObj = MATLABTable(mltable);
tbody = mltableObj.Body;
row1 = row(tbody,1);
row1.Style = [row1.Style {Color('blue')}];

append(d,mltableObj);
close(d);
rptview(d);

另请参阅

相关主题