В этом примере показано, как создать отчет, содержащий как альбомные страницы 11 x 8,5 дюйма, так и портретные страницы 8,5 x 11 дюйма. В отчете используется альбомная страница для размещения слишком широкого содержимого на портретной странице, например на этих параллельных изображениях.

Импортируйте пакеты DOM и Report API, чтобы не использовать длинные имена классов.
import mlreportgen.dom.*; import mlreportgen.report.*;
Создайте контейнер для хранения содержимого отчета.
% To create a Word report, change the output type from "pdf" to "docx". rpt = mlreportgen.report.Report("PortraitAndLandscapeReport", "pdf");
Создайте главу с заголовком «Типы графиков косинусных значений со случайным шумом».
chapter = Chapter("Title", "Types of Cosine Value Plots with Random Noise");
Установите для макета ландшафта главы значение true. При этом весь макет главы будет определен как альбомный.
chapter.Layout.Landscape = true;
Создайте переменные для печати. Создайте x как 200 равноудаленных значений от 0 до 3pi. Создайте y как косинусные значения со случайным шумом.
x = linspace(0,3*pi,200); y = cos(x) + rand(1,200);
Создайте объекты числа ценностей X и Y: гистограмма (fig1), диаграмма рассеяния (fig2) и 2-й сюжет Линии (fig3).
Создание объектов изображения, обернутых вокруг файлов изображений снимка фигуры. Задайте масштаб объектов фигуры так, чтобы они помещались в записи таблицы.
imgStyle = {ScaleToFit(true)};
fig1 = Figure(bar(x, y));
fig1Img = Image(getSnapshotImage(fig1, rpt));
fig1Img.Style = imgStyle;
delete(gcf);
fig2 = Figure(scatter(x,y));
fig2Img = Image(getSnapshotImage(fig2, rpt));
fig2Img.Style = imgStyle;
delete(gcf);
fig3 = Figure(plot(x,y));
fig3Img = Image(getSnapshotImage(fig3, rpt));
fig3Img.Style = imgStyle;
delete(gcf);Вставьте изображения в единственную строку невидимой таблицы макетов 1x5 (lo_table) (пробел между рисунками при наличии 2 пустых записей таблицы). Таблица считается невидимой, если границы не определены ни для таблицы, ни для ее записей. Размер изображений соответствует размеру записей таблицы, только если указаны высота и ширина записей таблицы.
lo_table = Table({fig1Img, ' ', fig2Img, ' ',fig3Img});
lo_table.entry(1,1).Style = {Width('3.2in'), Height('3in')};
lo_table.entry(1,2).Style = {Width('.2in'), Height('3in')};
lo_table.entry(1,3).Style = {Width('3.2in'), Height('3in')};
lo_table.entry(1,4).Style = {Width('.2in'), Height('3in')};
lo_table.entry(1,5).Style = {Width('3in'), Height('3in')};Добавьте таблицу к главе и главу к отчету.
add(chapter, lo_table); add(rpt, chapter);
Создайте главу с названием «Поверхностный график». Компоновка по умолчанию для главы является портретной.
chapter1 = Chapter("Title", "Surface Plot");
Создайте объект фигуры для печати поверхности (рис. 4). Создание объектов изображения, обернутых вокруг файлов изображений снимка фигуры.
fig4 = Figure(surf(peaks(20))); fig4Img = Image(getSnapshotImage(fig4, rpt)); fig4Img.Style = imgStyle; delete(gcf);
Добавьте созданный объект изображения в главу и главу в отчет.
add(chapter1, fig4Img); add(rpt, chapter1);
Создание и просмотр отчета
close(rpt); rptview(rpt);
Созданный отчет включает в себя параллельные снимки рисунков на странице ландшафта и график поверхности на портретной странице.