主要内容

创建报表生成器

这个例子展示了如何创建一个简单的报告来解释和说明魔方——矩阵的列、行和对角线加起来都是相同的数。看到魔法

请注意

完整的示例代码包含在分步说明之后。

  1. 导入基类。

    为了消除使用Report和DOM API对象的完全限定名的需要,可以使用以下语句。例如,而不是使用mlreportgen.report.Report,你可以使用报告

    进口mlreportgen.report。*进口mlreportgen.dom。*
  2. 创建报表对象。

    创建报表对象。使用“魔法”作为其文件名和“html”作为它的报告类型。

    rpt =报告(“魔法”“html”);

    要自定义应用于整个报表的属性,请参见mlreportgen.report.Report

  3. 添加一个标题页。

    创建一个标题页,并指定标题、副标题和作者。然后,将标题页添加到报告中。

    tp = TitlePage;tp。Title =“魔术方块”;tp。字幕=“列,行,对角线:全部相等和”;tp。作者=“Albrecht Durer”;追加(rpt, tp);

    请注意

    如果你在用MATLAB®R2020a或更老版本,替换附加函数与添加

    标题页“魔方”,副标题“列,行,对角线:所有相等的和”,作者“阿尔布雷希特丢勒”,和日期

    要自定义其他标题页属性,请参见mlreportgen.report.TitlePage

  4. 添加一个目录。

    向报表添加默认的目录对象。

    追加(rpt TableOfContents);

    请注意

    如果您使用的是MATLAB版本R2020a或更老版本,请替换附加函数与添加

    目录列出了三章:“导论”、“10 × 10魔方”和“25 × 25魔方”

    要自定义目录,请参见mlreportgen.report.TableOfContents

  5. 增加一章一节。

    为介绍创建一个章节对象,并指定章节标题。添加一个章节,在该章节中添加一个段落,并将该章节添加到章节中。创建另一个部分,并添加一个段落。

    ch1 =章节;ch1。Title =“介绍”;sec1 = Section;sec1。Title =“魔方是什么?”;para =段落([魔方是n × n矩阵...'由整数1到N^2构成'...'行,列,对角线和相等']);追加(sec1, sec1) sec2 = Section;sec2。Title =《丢勒与魔方》;para =段落([...德国艺术家阿尔布雷希特·丢勒(1471-1528)..."许多带有宗教色彩的木刻和版画"...“科学的象征。他最著名的作品之一,...《忧郁症I,探索抑郁的精神状态》...“这与灵感和表达相悖。”...文艺复兴时期的占星家认为木星...“魔方”(显示在“魔方”的右上角。...(这是一个形象)可以帮助治疗忧郁。“...雕刻的日期(1514年)可在...“广场上的下一排数字。”]);追加(sec2 para)追加(ch1 sec2)

    请注意

    如果您使用的是MATLAB版本R2020a或更老版本,请替换附加函数与添加

    第一章分为两部分,“什么是魔方”和“丢勒与魔方”

    有关自定义章节和节的信息,请参见mlreportgen.report.Chapter而且mlreportgen.report.Section分别。

  6. 添加图形。

    在图形窗口中创建丢勒的图像。在MATLAB图中创建图像。将图添加到介绍章的第二节,然后将该章添加到报告中。

    durerImage =负载((“durer.mat”),“垫”);图(“单位”“像素”“位置”...[200 200 size(durerImage.X,2)*.5]...大小(durerImage.X 1) *。5);图像(durerImage.X);colormap (durerImage.map);轴(“图像”);集(gca),“Xtick”[],“Ytick”[],...“单位”“正常”“位置”,[0 0 1 1]);(sec2,图)(rpt,ch1) closegcf

    请注意

    如果您使用的是MATLAB版本R2020a或更老版本,请替换附加函数与添加

    版画,Albrecht Durer的《忧郁症1号》

    有关数字的更多信息,请参见mlreportgen.report.Figure.有关图像的更多信息,请参见mlreportgen.report.FormalImage

  7. 添加一个表。

    添加另一个章节对象并指定其标题。指定MATLAB代码来创建一个10 × 10的魔方。将结果添加到表中,并设置这些表属性:

    • 行和列分隔符

    • 表边境

    • 表项的对齐

    然后,将表格添加到章节中,将章节添加到报告中。

    ch2 = Chapter();ch2。标题= sprintf(“10 × 10魔方”);正方形=魔术(10);tbl =表格(正方形);资源描述。样式= {...RowSep (“固体”“黑”“1 px”),...ColSep (“固体”“黑”“1 px”});资源描述。边境=“双”;资源描述。tableentresstyle = {HAlign(“中心”)};追加(ch2(资源);追加(rpt, ch2);

    请注意

    如果您使用的是MATLAB版本R2020a或更老版本,请替换附加函数与添加

    第2章的标题是10 × 10魔法方块,并包含一个包含魔法方块的边框表。

    有关表的更多信息,请参见mlreportgen.dom.Table

  8. 在章节中添加MATLAB图形。

    添加另一个章节对象并指定其标题。指定MATLAB代码来创建一个25 × 25的幻方和幻方的彩色编码图形。然后,创建一个图形对象并设置其高度、宽度和标题。将图表添加到章节中,并将章节添加到报告中。

    ch3 = Chapter();甲基。标题= sprintf(25 × 25魔方);方块=魔法(25);clf;显示亮度图像(广场)组(gca,“Ydir”“正常”)轴平等的fig =图(gcf);fig.Snapshot.Height =“4”;fig.Snapshot.Width =“6”;fig.Snapshot.Caption = sprintf(25 × 25魔方);追加(ch3、无花果);追加(rpt, ch3);删除(gcf)

    请注意

    如果您使用的是MATLAB版本R2020a或更老版本,请替换附加函数与添加

    第3章的标题是25 × 25魔法方块,并包含了魔法方块的彩色编码图形。

    有关数字的更多信息,请参见mlreportgen.report.Figure

  9. 关闭并运行报告。

    关上(rpt) rptview (rpt)

完整的代码是:

进口mlreportgen.report。*进口mlreportgen.dom。*rpt =报告(“魔法”“html”);tp = TitlePage;tp。Title =“魔术方块”;tp。字幕=“列,行,对角线:全部相等和”;tp。作者=“Albrecht Durer”;追加(rpt, tp);追加(rpt TableOfContents);ch1 =章节;ch1。Title =“介绍”;sec1 = Section;sec1。Title =“魔方是什么?”;para =段落([魔方是n × n矩阵...'由整数1到N^2构成'...'行,列,对角线和相等']);追加(sec1, sec1) sec2=Section;sec2。Title =《丢勒与魔方》;para =段落([...德国艺术家阿尔布雷希特·丢勒(1471-1528)..."许多带有宗教色彩的木刻和版画"...“科学的象征。他最著名的作品之一,...《忧郁症I,探索抑郁的精神状态》...“这与灵感和表达相悖。”...文艺复兴时期的占星家认为木星...“魔方”(显示在“魔方”的右上角。...(这是一个形象)可以帮助治疗忧郁。“...雕刻的日期(1514年)可在...“广场上的下一排数字。”]);append(sec2,para) append(ch1,sec2) durerImage=load(它(“durer.mat”),“垫”);图(“单位”“像素”“位置”...[200 200 size(durerImage.X,2)*.5]...大小(durerImage.X 1) *。5);图像(durerImage.X);colormap (durerImage.map);轴(“图像”);集(gca),“Xtick”[],“Ytick”[],...“单位”“正常”“位置”,[0 0 1 1]);(sec2,图)(rpt,ch1) closegcfch2 = Chapter();ch2。标题= sprintf(“10 × 10魔方”);正方形=魔术(10);tbl =表格(正方形);资源描述。样式= {...RowSep (“固体”“黑”“1 px”),...ColSep (“固体”“黑”“1 px”});资源描述。边境=“双”;资源描述。tableentresstyle = {HAlign(“中心”)};追加(ch2(资源);追加(rpt, ch2);ch3 = Chapter();甲基。标题= sprintf(25 × 25魔方);方块=魔法(25);clf;显示亮度图像(广场)组(gca,“Ydir”“正常”)轴平等的fig =图(gcf);fig.Snapshot.Height =“4”;fig.Snapshot.Width =“6”;fig.Snapshot.Caption = sprintf(25 × 25魔方);追加(ch3、无花果);追加(rpt, ch3);删除(gcf)关闭(rpt)视图(rpt)

请注意

如果您使用的是MATLAB版本R2020a或更老版本,请替换附加函数与添加

另请参阅