主要内容

创建带有纵向和横向页面的报告

这个例子展示了如何创建一个包含11 x 8.5-in横向页和8.5 x 11-in纵向页的报告。该报告使用横向页面来容纳宽度太大而无法容纳纵向页面的内容,例如这些并排的图像。

导入DOM和Report API包,这样就不必使用长类名。

进口mlreportgen.dom。*;进口mlreportgen.report。*

创建一个容器来保存报表内容。

%创建Word报告,将输出类型从“pdf”改为“docx”。rpt = mlreportgen.report.Report (“PortraitAndLandscapeReport”“pdf”);

创建一章,标题为“随机噪声余弦值图的类型”。

章=章(“标题”随机噪声余弦值图的类型);

设置章节景观布局为真。这将设置整个章节布局为景观。

chapter.Layout.Landscape = true;

创建要绘制的变量。创建x为0和3之间等距200的值。创建y为带有随机噪声的余弦值。

x = linspace(0,3 *π,200);Y = cos(x) + rand(1200);

创建x值和y值的图形对象:条形图(图1)、散点图(图2)和二维线状图(图3)。

创建图形快照图像文件周围的图像对象。设置图形对象的比例,使其适合表条目。

imgStyle = {ScaleToFit(真正)};图1 =图(横杆(x, y));fig1Img = Image(getSnapshotImage(fig1, rpt));fig1Img。风格= imgStyle;删除(gcf);图=图(散射(x, y));fig2Img = Image(getSnapshotImage(fig2, rpt));fig2Img。风格= imgStyle; delete(gcf); fig3 = Figure(plot(x,y)); fig3Img = Image(getSnapshotImage(fig3, rpt)); fig3Img.Style = imgStyle; delete(gcf);

将图像插入1x5不可见布局表(lo_table)的唯一一行(图与图之间有2个空表项)。如果没有为表及其表项定义边界,则认为表是不可见的。只有当指定了表项的高度和宽度时,图像的大小才适合表项。

lo_table =表({fig1Img,' 'fig2Img,' ', fig3Img});lo_table.entry(1, 1)。风格={宽度(“3.2”)、高(“3”)};lo_table.entry(1、2)。风格={宽度(“.2in”)、高(“3”)};lo_table.entry(1、3)。风格={宽度(“3.2”)、高(“3”)};lo_table.entry(1, 4)。风格={宽度(“.2in”)、高(“3”)};lo_table.entry(1、5)。风格={宽度(“3”)、高(“3”)};

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

添加(章,lo_table);add (rpt,章);

创建一个标题为“Surface Plot”的章节。章节的默认布局是纵向的。

chapter1 =章(“标题”“曲面图”);

创建一个图形对象的表面图(图4)。创建图形快照图像文件周围的图像对象。

图三=图(冲浪(峰值(20)));fig4Img = Image(getSnapshotImage(fig4, rpt));fig4Img。风格= imgStyle;删除(gcf);

将生成的图像对象添加到章节中,将章节添加到报告中。

add (chapter1, fig4Img);添加(rpt, chapter1);

生成并显示报表

关闭(rpt);rptview (rpt);

生成的报告包括横向页上的并排图形快照和纵向页上的曲面图。